CScheduleBaseServerMtm Class Reference

class CScheduleBaseServerMtm : public CBaseServerMtm

Base class for Server MTMs that support scheduling.

It contains pure virtual functions which must be implemented by the Server MTM. These functions are not required for interoperability with any other classes, however they are essential functionality that must be implemented by a Server MTM that support scheduling.

CScheduleBaseServerMtm uses a class derived from CMsvScheduleSend to interface with the task scheduler.

CMsvScheduleSend

Inherits from

Protected Member Functions
CScheduleBaseServerMtm(CRegisteredMtmDll &, CMsvServerEntry *)
~CScheduleBaseServerMtm()
IMPORT_C voidCheckScheduleL(const CMsvEntrySelection &, const TDesC8 &, TRequestStatus &)
IMPORT_C voidConstructL()
IMPORT_C voidDeleteScheduleL(const CMsvEntrySelection &, const TDesC8 &, TRequestStatus &)
IMPORT_C voidLoadResourceFileL(const TDesC &)
voidLoadResourceFileL()
IMPORT_C voidLoadScheduleSettingsL(CRepository &, TBool, TInt)
voidPopulateSchedulePackage(const TDesC8 &, const TBool, TMsvSchedulePackage &)
IMPORT_C voidQueue(TRequestStatus &)
IMPORT_C voidScheduleL(CMsvEntrySelection &, const TBool, const TDesC8 &, TRequestStatus &)
IMPORT_C voidSendScheduledL(CMsvEntrySelection &, const TBool, const TDesC8 &, TRequestStatus &)
Private Member Functions
voidRequestComplete(TRequestStatus *, TInt)
Inherited Functions
CActive::CActive(TInt)
CActive::Cancel()
CActive::Deque()
CActive::DoCancel()
CActive::IsActive()const
CActive::IsAdded()const
CActive::Priority()const
CActive::SetActive()
CActive::SetPriority(TInt)
CActive::~CActive()
CBase::CBase()
CBase::Delete(CBase *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CBaseServerMtm::CBaseServerMtm(CRegisteredMtmDll &,CMsvServerEntry *)
CBaseServerMtm::ChangeL(TMsvEntry,TRequestStatus &)
CBaseServerMtm::CommandExpected()
CBaseServerMtm::CopyFromLocalL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
CBaseServerMtm::CopyToLocalL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
CBaseServerMtm::CopyWithinServiceL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
CBaseServerMtm::CreateL(TMsvEntry,TRequestStatus &)
CBaseServerMtm::DeleteAllL(const CMsvEntrySelection &,TRequestStatus &)
CBaseServerMtm::DoComplete(TInt)
CBaseServerMtm::DoRunL()
CBaseServerMtm::Extension_(TUint,TAny *&,TAny *)
CBaseServerMtm::GetInterface(TUid)
CBaseServerMtm::GetNonOperationMtmData(TNonOperationMtmDataType &,TPtrC8 &)
CBaseServerMtm::MoveFromLocalL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
CBaseServerMtm::MoveToLocalL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
CBaseServerMtm::MoveWithinServiceL(const CMsvEntrySelection &,TMsvId,TRequestStatus &)
CBaseServerMtm::Progress()
CBaseServerMtm::StartCommandL(CMsvEntrySelection &,TInt,const TDesC8 &,TRequestStatus &)
CBaseServerMtm::SystemProgress(TMsvSystemProgress &)
CBaseServerMtm::~CBaseServerMtm()
Inherited Enumerations
CActive:TPriority
Protected Attributes
RFs iFs
TRequestStatus *iReport
RResourceFile iResourceFile
CMsvScheduleSend *iScheduleSend
Inherited Attributes
CActive::iStatus
CBaseServerMtm::iServerEntry

Constructor & Destructor Documentation

CScheduleBaseServerMtm(CRegisteredMtmDll &, CMsvServerEntry *)

IMPORT_CCScheduleBaseServerMtm(CRegisteredMtmDll &aRegisteredMtmDll,
CMsvServerEntry *aServerEntry
)[protected]

Constructor.

Parameters

CRegisteredMtmDll & aRegisteredMtmDllRegistration data for the MTM DLL
CMsvServerEntry * aServerEntryContext on which to operate

~CScheduleBaseServerMtm()

IMPORT_C~CScheduleBaseServerMtm()[protected]

Destructor.

The derived class destructor should delete the iScheduleSend member.

Member Functions Documentation

CheckScheduleL(const CMsvEntrySelection &, const TDesC8 &, TRequestStatus &)

IMPORT_C voidCheckScheduleL(const CMsvEntrySelection &aSelection,
const TDesC8 &aParameter,
TRequestStatus &aStatus
)[protected, virtual]

Verifies that the schedule information stored in specified messages is the same as that on the task scheduler.

Parameters

const CMsvEntrySelection & aSelectionArray of message IDs that need to be checked against the task scheduler
const TDesC8 & aParameterUnused
TRequestStatus & aStatusAsynchronous status word

ConstructL()

IMPORT_C voidConstructL()[protected, virtual]

Second phase constructor.

This calls LoadResourceFileL().

The derived class second phase constructor should call this function. It should also construct the iScheduleSend member.

leave
Leaves with one of the system-wide error if unable to connect to the file server
leave
LoadResourceFileL()

DeleteScheduleL(const CMsvEntrySelection &, const TDesC8 &, TRequestStatus &)

IMPORT_C voidDeleteScheduleL(const CMsvEntrySelection &aSelection,
const TDesC8 &aParameter,
TRequestStatus &aStatus
)[protected, virtual]

Deletes the schedules for the specified messages from the task scheduler.

The messages themselves are not deleted.

Parameters

const CMsvEntrySelection & aSelectionArray of message IDs that need to be deleted from the task scheduler
const TDesC8 & aParameterUnused
TRequestStatus & aStatusAsynchronous status word

LoadResourceFileL(const TDesC &)

IMPORT_C voidLoadResourceFileL(const TDesC &aResFileName)[protected]

Loads the specified resource file.

A utility function that can be used from the pure virtual LoadResourceFileL().

It leaves if the resource file reader cannot be opened.

Parameters

const TDesC & aResFileNameResource file name

LoadResourceFileL()

voidLoadResourceFileL()[protected, pure virtual]

Loads the resource file (if any) for the MTM.

LoadScheduleSettingsL(CRepository &, TBool, TInt)

IMPORT_C voidLoadScheduleSettingsL(CRepository &aRepository,
TBoolaRestoreErrorsFromResource = EFalse,
TIntaErrorsResourceId = 0
)[protected]

Loads all the schedule settings either from CenRep or a resource file.

CMsvScheduleSend::RestoreL CMsvSendErrorActions::RestoreFromResourceL()
panic
ScheduleSend-DLL 24 The context is not a service entry

Parameters

CRepository & aRepositoryCenRep repository to load settings from
TBool aRestoreErrorsFromResource = EFalseWhether to read error handling information (a SEND_ERROR_ACTIONS struct) from a resource file
TInt aErrorsResourceId = 0Resource ID of the error handling resource struct

PopulateSchedulePackage(const TDesC8 &, const TBool, TMsvSchedulePackage &)

voidPopulateSchedulePackage(const TDesC8 &aParameter,
const TBoolaMove,
TMsvSchedulePackage &aPackage
)const [protected, pure virtual]

Populates a TMsvSchedulePackage object with scheduling information.

Parameters

const TDesC8 & aParameterParameter information for the package
const TBool aMoveFlag that signals whether a move or copy is required
TMsvSchedulePackage & aPackageOn return, a populated object

Queue(TRequestStatus &)

IMPORT_C voidQueue(TRequestStatus &aStatus)[protected]

Specifies an asynchronous status word to be completed when an asynchronous MTM operation completes.

This provides a form of observer functionality. It sets the the iReport member.

panic
ScheduleSend-DLL 28 iReport member not NULL. Debug build only.

Parameters

TRequestStatus & aStatusAsynchronous status word to use

RequestComplete(TRequestStatus *, TInt)

voidRequestComplete(TRequestStatus *aStatus,
TIntaError
)[private]

Parameters

TRequestStatus * aStatus
TInt aError

ScheduleL(CMsvEntrySelection &, const TBool, const TDesC8 &, TRequestStatus &)

IMPORT_C voidScheduleL(CMsvEntrySelection &aSelection,
const TBoolaMove,
const TDesC8 &aParameter,
TRequestStatus &aStatus
)[protected, virtual]

Schedules a message.

The functions should schedule a message using CMsvScheduleSend::ScheduleL(). Make sure RestoreScheduleSettingsL() is called before CMsvScheduleSend::ScheduleL().

Parameters

CMsvEntrySelection & aSelectionThe selection of messages that need to be scheduled
const TBool aMoveWhether to perform a Move (ETrue) or a Copy (EFalse) when sending has completed
const TDesC8 & aParameterThe parameter (MTM-specific) that is required when sending the messages
TRequestStatus & aStatusAsynchronous status word

SendScheduledL(CMsvEntrySelection &, const TBool, const TDesC8 &, TRequestStatus &)

IMPORT_C voidSendScheduledL(CMsvEntrySelection &aSelection,
const TBoolaMove,
const TDesC8 &aParameter,
TRequestStatus &aStatus
)[protected, virtual]

Sends messages now that were previously scheduled.

The messages are sent immediately, overriding the scheduling.

Parameters

CMsvEntrySelection & aSelectionThe selection of messages that were previously scheduled and now need to be sent
const TBool aMoveWhether to perform a Move (ETrue) or a Copy (EFalse) when sending has completed
const TDesC8 & aParameterThe parameter (MTM-specific) that is required when sending the messages
TRequestStatus & aStatusAsynchronous status word

Member Data Documentation

RFs iFs

RFs iFs[protected]

File server handle.

TRequestStatus * iReport

TRequestStatus *iReport[protected]

Asynchronous status word.

RResourceFile iResourceFile

RResourceFile iResourceFile[protected]

MTM resource file.

CMsvScheduleSend * iScheduleSend

CMsvScheduleSend *iScheduleSend[protected]

Message scheduler.