CESMRCalDbBase Class Reference

class CESMRCalDbBase : public CBase

Base class representing a calendar database.

esmrdb.lib

Inherits from

Constructor & Destructor Documentation

CESMRCalDbBase(MESMRCalDbObserver &, MCalProgressCallBack &)

CESMRCalDbBase(MESMRCalDbObserver &aDbObserver,
MCalProgressCallBack &aCmdObserver
)[protected]

C++ default constructor.

Parameters

MESMRCalDbObserver & aDbObserverdatabase observer reference
MCalProgressCallBack & aCmdObserverasynchronous command observer reference

~CESMRCalDbBase()

~CESMRCalDbBase()

Destructor.

Member Functions Documentation

Compare(const CCalEntry &, const CCalEntry &)

TInt Compare(const CCalEntry &aFirst,
const CCalEntry &aSecond
)[static]

Wrapper which traps leaving CompareL(), and in leave situation returns that objects are equal since that is a safer interpretation and avoids duplicates in database. In real life CompareL() is not expected to ever leave.

Parameters

const CCalEntry & aFirstentry
const CCalEntry & aSecondentry

CompareL(const CCalEntry &, const CCalEntry &)

TInt CompareL(const CCalEntry &aFirst,
const CCalEntry &aSecond
)[static]

Helper which allows ordering entries in an array. That is implemented by evaluating GUID and RECURRENCE-ID of the two entries.

Parameters

const CCalEntry & aFirstentry
const CCalEntry & aSecondentry

DbStatus()

MESMRCalDbObserver::TDbStatus DbStatus()

Database status getter.

EntryView()

const CCalEntryView *EntryView()const

Entry view accessor. Ownership not transferred.

EntryView()

CCalEntryView *EntryView()

Entry view accessor. Ownership not transferred.

FetchWithRangeL(RPointerArray< CCalEntry > &, const CalCommon::TCalTimeRange &, TBool)

voidFetchWithRangeL(RPointerArray< CCalEntry > &aCalEntryArray,
const CalCommon::TCalTimeRange &aCalTimeRange,
TBoolaFetchFullCopy = ETrue
)

CCalEntryView lacks fetch with time range. This method provides such functionality. In case of repeating entries the entire sequence must be within range (but modifying entries are considered separately). If database doesn't have both instance and entry view then this method leaves with KErrNotSupported.

Parameters

RPointerArray< CCalEntry > & aCalEntryArrayfetched entries, caller owns array items
const CalCommon::TCalTimeRange & aCalTimeRangetime range
TBool aFetchFullCopy = ETruecopy type of calendar entry

InstanceView()

const CCalInstanceView *InstanceView()const

Instance view accessor. Ownership not transferred.

InstanceView()

CCalInstanceView *InstanceView()

Instance view accessor. Ownership not transferred.

IsCompletelyWithinRangeL(const CCalEntry &, const CalCommon::TCalTimeRange &)

TBool IsCompletelyWithinRangeL(const CCalEntry &aEntry,
const CalCommon::TCalTimeRange &aCalTimeRange
)[static]

Tests whether given entry fits completely within given time range.

Parameters

const CCalEntry & aEntryentry to test
const CalCommon::TCalTimeRange & aCalTimeRangecriterion

NotifyProgress()

TBool NotifyProgress()[protected]

Progress(TInt)

voidProgress(TIntaPercentageCompleted)[protected]

Parameters

TInt aPercentageCompleted

ResetDbL()

voidResetDbL()[virtual]

Reset database, causes asynchronous db initialization which is notified through MMRUtilsCalDbObserver interface. Calling this method requires that there are no external open references for the session. The default implementation leaves with KErrNotSupported.

Session()

const CCalSession *Session()const

Session accessor. Ownership not transferred.

Session()

CCalSession *Session()

Session accessor. Ownership not transferred.

Member Data Documentation

CCalEntryView * iCalEntryView

CCalEntryView *iCalEntryView[protected]

Calender DB view. Managed by the subclass Own.

CCalInstanceView * iCalInstanceView

CCalInstanceView *iCalInstanceView[protected]

Caledar DB instance view. Managed by the subclass Own.

CCalSession * iCalSession

CCalSession *iCalSession[protected]

Calendar DB session. Managed by the subclass Own.

MCalProgressCallBack & iCmdObserver

MCalProgressCallBack &iCmdObserver[protected]

This callback is used for notifying about asynchronous command progress, Note: currently not used for anything! Not own.

MESMRCalDbObserver & iDbObserver

MESMRCalDbObserver &iDbObserver[protected]

Used for notifying about database status Not own.

MESMRCalDbObserver::TDbStatus iDbStatus

MESMRCalDbObserver::TDbStatus iDbStatus[protected]

Current database status Own.