CScheduleBaseServerMtm Class Reference

#include <mw/schedulebaseservermtm.h>

Link against: schsend.lib

class CScheduleBaseServerMtm : public CBaseServerMtm

Inherits from

  • CScheduleBaseServerMtm
    Protected Attributes
    RFs iFs
    TRequestStatus *iReport
    RResourceFile iResourceFile
    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 &)
    Inherited Attributes
    CActive::iStatus
    CBaseServerMtm::iServerEntry
    Inherited Enumerations
    CActive:TPriority
    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()

    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

    RResourceFile iResourceFile[protected]

    MTM resource file.

    iScheduleSend

    CMsvScheduleSend *iScheduleSend[protected]

    Message scheduler.

    Constructor & Destructor Documentation

    CScheduleBaseServerMtm ( CRegisteredMtmDll &, CMsvServerEntry * )

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

    Constructor.

    ParameterDescription
    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()

    leave
    CMsvScheduleSend::CheckScheduleL()
    ParameterDescription
    aSelectionArray of message IDs that need to be checked against the task scheduler
    aParameterUnused
    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.

    See also: CMsvScheduleSend::DeleteScheduleL()

    leave
    CMsvScheduleSend::DeleteScheduleL()
    ParameterDescription
    aSelectionArray of message IDs that need to be deleted from the task scheduler
    aParameterUnused
    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.

    ParameterDescription
    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()

    panic
    ScheduleSend-DLL 24 The context is not a service entry
    ParameterDescription
    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

    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.

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

    panic
    ScheduleSend-DLL 28 iReport member not NULL. Debug build only.
    ParameterDescription
    aStatusAsynchronous status word to use

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

    ParameterDescription
    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

    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.

    ParameterDescription
    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