CScheduleBaseServerMtm Class Reference

#include <mw/schedulebaseservermtm.h>

Link against: schsend.lib

class CScheduleBaseServerMtm
Protected Attributes
RFs iFs
TRequestStatus *iReport
RResourceFileiResourceFile
CMsvScheduleSend *iScheduleSend
Protected Member Functions
CScheduleBaseServerMtm(CRegisteredMtmDll &, CMsvServerEntry *)
~CScheduleBaseServerMtm()
virtual IMPORT_C voidCheckScheduleL(const CMsvEntrySelection &, const TDesC8 &, TRequestStatus &)
virtual IMPORT_C voidConstructL()
virtual IMPORT_C voidDeleteScheduleL(const CMsvEntrySelection &, const TDesC8 &, TRequestStatus &)
IMPORT_C voidLoadResourceFileL(const TDesC &)
pure virtual voidLoadResourceFileL()
IMPORT_C voidLoadScheduleSettingsL(CRepository &, TBool, TInt)
pure virtual voidPopulateSchedulePackage(const TDesC8 &, const TBool, TMsvSchedulePackage &)
IMPORT_C voidQueue(TRequestStatus &)
virtual IMPORT_C voidScheduleL(CMsvEntrySelection &, const TBool, const TDesC8 &, TRequestStatus &)
virtual IMPORT_C voidSendScheduledL(CMsvEntrySelection &, const TBool, const TDesC8 &, TRequestStatus &)

Detailed Description

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.

See also: CMsvScheduleSend

Member Attribute Documentation

iFs

RFs iFs[protected]

File server handle.

iReport

TRequestStatus *iReport[protected]

Asynchronous status word.

iResourceFile

RResourceFileiResourceFile[protected]

MTM resource file.

iScheduleSend

CMsvScheduleSend *iScheduleSend[protected]

Message scheduler.

Constructor & Destructor Documentation

CScheduleBaseServerMtm ( CRegisteredMtmDll &, CMsvServerEntry * )

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

Constructor.

Parameters
aRegisteredMtmDllRegistration data for the MTM DLL
aServerEntryContext on which to operate

~CScheduleBaseServerMtm ( )

IMPORT_C~CScheduleBaseServerMtm()[protected]

Destructor.

The derived class destructor should delete the iScheduleSend member.

Member Function 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.

See also: CMsvScheduleSend::CheckScheduleL()

Parameters
aSelectionArray of message IDs that need to be checked against the task scheduler
aParameterUnused
aStatusAsynchronous status word
Leave Codes

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 Codes
Leaveswith one of the system-wide error if unable to connect to the file server

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.

See also: CMsvScheduleSend::DeleteScheduleL()

Parameters
aSelectionArray of message IDs that need to be deleted from the task scheduler
aParameterUnused
aStatusAsynchronous status word
Leave Codes

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
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.

See also: CMsvScheduleSend::RestoreL CMsvSendErrorActions::RestoreFromResourceL()

Parameters
aRepositoryCenRep repository to load settings from
aRestoreErrorsFromResourceWhether to read error handling information (a SEND_ERROR_ACTIONS struct) from a resource file
aErrorsResourceIdResource ID of the error handling resource struct
Panic Codes
ScheduleSend-DLL24 The context is not a service entry

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
aParameterParameter information for the package
aMoveFlag that signals whether a move or copy is required
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.

Parameters
aStatusAsynchronous status word to use
Panic Codes
ScheduleSend-DLL28 iReport member not NULL. Debug build only.

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
aSelectionThe selection of messages that need to be scheduled
aMoveWhether to perform a Move (ETrue) or a Copy (EFalse) when sending has completed
aParameterThe parameter (MTM-specific) that is required when sending the messages
aStatusAsynchronous status word
Leave Codes

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
aSelectionThe selection of messages that were previously scheduled and now need to be sent
aMoveWhether to perform a Move (ETrue) or a Copy (EFalse) when sending has completed
aParameterThe parameter (MTM-specific) that is required when sending the messages
aStatusAsynchronous status word