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 void CheckScheduleL (const CMsvEntrySelection &, const TDesC8 &, TRequestStatus &)
IMPORT_C void ConstructL ()
IMPORT_C void DeleteScheduleL (const CMsvEntrySelection &, const TDesC8 &, TRequestStatus &)
IMPORT_C void LoadResourceFileL (const TDesC &)
void LoadResourceFileL ()
IMPORT_C void LoadScheduleSettingsL ( CRepository &, TBool , TInt )
void PopulateSchedulePackage (const TDesC8 &, const TBool , TMsvSchedulePackage &)
IMPORT_C void Queue ( TRequestStatus &)
IMPORT_C void ScheduleL ( CMsvEntrySelection &, const TBool , const TDesC8 &, TRequestStatus &)
IMPORT_C void SendScheduledL ( CMsvEntrySelection &, const TBool , const TDesC8 &, TRequestStatus &)
Private Member Functions
void RequestComplete ( 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_C CScheduleBaseServerMtm ( CRegisteredMtmDll & aRegisteredMtmDll,
CMsvServerEntry * aServerEntry
) [protected]

Constructor.

Parameters

CRegisteredMtmDll & aRegisteredMtmDll Registration data for the MTM DLL
CMsvServerEntry * aServerEntry Context 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 void CheckScheduleL ( 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 & aSelection Array of message IDs that need to be checked against the task scheduler
const TDesC8 & aParameter Unused
TRequestStatus & aStatus Asynchronous status word

ConstructL()

IMPORT_C void ConstructL ( ) [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 void DeleteScheduleL ( 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 & aSelection Array of message IDs that need to be deleted from the task scheduler
const TDesC8 & aParameter Unused
TRequestStatus & aStatus Asynchronous status word

LoadResourceFileL(const TDesC &)

IMPORT_C void LoadResourceFileL ( 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 & aResFileName Resource file name

LoadResourceFileL()

void LoadResourceFileL ( ) [protected, pure virtual]

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

LoadScheduleSettingsL(CRepository &, TBool, TInt)

IMPORT_C void LoadScheduleSettingsL ( CRepository & aRepository,
TBool aRestoreErrorsFromResource = EFalse,
TInt aErrorsResourceId = 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 & aRepository CenRep repository to load settings from
TBool aRestoreErrorsFromResource = EFalse Whether to read error handling information (a SEND_ERROR_ACTIONS struct) from a resource file
TInt aErrorsResourceId = 0 Resource ID of the error handling resource struct

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

void PopulateSchedulePackage ( const TDesC8 & aParameter,
const TBool aMove,
TMsvSchedulePackage & aPackage
) const [protected, pure virtual]

Populates a TMsvSchedulePackage object with scheduling information.

Parameters

const TDesC8 & aParameter Parameter information for the package
const TBool aMove Flag that signals whether a move or copy is required
TMsvSchedulePackage & aPackage On return, a populated object

Queue(TRequestStatus &)

IMPORT_C void Queue ( 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 & aStatus Asynchronous status word to use

RequestComplete(TRequestStatus *, TInt)

void RequestComplete ( TRequestStatus * aStatus,
TInt aError
) [private]

Parameters

TRequestStatus * aStatus
TInt aError

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

IMPORT_C void ScheduleL ( CMsvEntrySelection & aSelection,
const TBool aMove,
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 & aSelection The selection of messages that need to be scheduled
const TBool aMove Whether to perform a Move (ETrue) or a Copy (EFalse) when sending has completed
const TDesC8 & aParameter The parameter (MTM-specific) that is required when sending the messages
TRequestStatus & aStatus Asynchronous status word

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

IMPORT_C void SendScheduledL ( CMsvEntrySelection & aSelection,
const TBool aMove,
const TDesC8 & aParameter,
TRequestStatus & aStatus
) [protected, virtual]

Sends messages now that were previously scheduled.

The messages are sent immediately, overriding the scheduling.

Parameters

CMsvEntrySelection & aSelection The selection of messages that were previously scheduled and now need to be sent
const TBool aMove Whether to perform a Move (ETrue) or a Copy (EFalse) when sending has completed
const TDesC8 & aParameter The parameter (MTM-specific) that is required when sending the messages
TRequestStatus & aStatus Asynchronous 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.