CMmsNotificationClientMtm Class Reference

class CMmsNotificationClientMtm : public CMmsClientMtm

Client Mtm for MMS Notifications

Inherits from

  • CMmsNotificationClientMtm
    Public Member Functions
    ~CMmsNotificationClientMtm()
    CMsvOperation *DeleteAllNotificationsL(TMmsDeleteOperationType, TRequestStatus &)
    voidDeleteForwardEntryL(const CMsvEntrySelection &)
    CMsvOperation *DeleteNotificationL(const CMsvEntrySelection &, TMmsDeleteOperationType, TRequestStatus &)
    CMsvOperation *FetchAllL(TRequestStatus &, TBool)
    CMsvOperation *FetchMessageL(TMsvId, TRequestStatus &)
    CMsvOperation *FetchMessagesL(const CMsvEntrySelection &, TRequestStatus &)
    CMsvOperation *ForwardL(TMsvId, TMsvPartList, TRequestStatus &)
    const TPtrCGetApplicationId()
    const TPtrCGetExtendedText()
    TMsvId GetMmboxFolderL()
    CMsvEntrySelection *ListNotificationsL()
    TBool MmboxInfoL(TMmboxInfo &)
    IMPORT_C CMmsNotificationClientMtm *NewL(CRegisteredMtmDll &, CMsvSession &)
    TInt NotificationCount()
    TInt QueryCapability(TUid, TInt &)
    CMsvOperation *SendL(TRequestStatus &, const TTime)
    CMsvOperation *SendL(CMsvEntrySelection &, TRequestStatus &, TTime)
    CMsvOperation *UnscheduledDeleteNotificationL(const CMsvEntrySelection &, TMmsDeleteOperationType, TRequestStatus &)
    CMsvOperation *UpdateMmBoxListL(TRequestStatus &)
    Private Member Functions
    CMmsNotificationClientMtm(CRegisteredMtmDll &, CMsvSession &)
    voidConstructL()
    TMsvId CreateForwardEntryL(const TMsvId)
    voidFindDuplicateNotificationL(TMsvId, CMmsHeaders &, TMsvId &)
    TBool FreeNotification(TMsvEntry &, const TUint32)
    voidMarkFreeNotificationsReservedL(CMsvEntrySelection &, const TUint32)
    voidMarkNotificationOperationReserved(TMsvEntry &, const TUint32)
    TInt ReserveNotificationOperationL(const TMsvId, const TUint32)
    Inherited Functions
    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()
    CBaseMtm::AddresseeList()const
    CBaseMtm::CBaseMtm(CRegisteredMtmDll &,CMsvSession &)
    CBaseMtm::Extension_(TUint,TAny *&,TAny *)
    CBaseMtm::Filler1()
    CBaseMtm::Filler2()
    CBaseMtm::GetExtensionData()
    CBaseMtm::GetInterface(TUid)
    CBaseMtm::RestoreBodyL(CMsvStore &)
    CBaseMtm::SetExtensionData(TAny *)
    CBaseMtm::SetMessageCharacterSet(TUint)
    CBaseMtm::StoreBodyL(CMsvStore &)
    CBaseMtm::~CBaseMtm()
    CMmsClientMtm::AddAddresseeL(TMsvRecipientType,const TDesC &)
    CMmsClientMtm::AddAddresseeL(TMsvRecipientType,const TDesC &,const TDesC &)
    CMmsClientMtm::AddAddresseeL(const TDesC &)
    CMmsClientMtm::AddAddresseeL(const TDesC &,const TDesC &)
    CMmsClientMtm::AddAttachmentL(RFile &,const TDesC8 &,TUint,TRequestStatus &)
    CMmsClientMtm::AddAttachmentL(const TDesC &,const TDesC8 &,TUint,TRequestStatus &)
    CMmsClientMtm::AddAttributeL(const TDesC &,const TDesC &)
    CMmsClientMtm::AddEntryAsAttachmentL(TMsvId,TRequestStatus &)
    CMmsClientMtm::AddLinkedAttachmentL(const TDesC &,const TDesC8 &,TUint,TRequestStatus &)
    CMmsClientMtm::BioTypeChangedL(TUid)
    CMmsClientMtm::Body()
    CMmsClientMtm::Body()const
    CMmsClientMtm::CMmsClientMtm(CRegisteredMtmDll &,CMsvSession &)
    CMmsClientMtm::CancelAttachmentOperation()
    CMmsClientMtm::ChangeDefaultServiceL(const TMsvId &)
    CMmsClientMtm::ContextEntrySwitched()
    CMmsClientMtm::CreateAttachment2L(CMsvStore &,RFile &,TDesC8 &,CMsvMimeHeaders &,CMsvAttachment *,TMsvAttachmentId &)
    CMmsClientMtm::CreateAttachmentL(const TDesC &,RFile &,const TDesC8 &,TUint,TRequestStatus &)
    CMmsClientMtm::CreateMessageL(TMsvId)
    CMmsClientMtm::CreateNewEntryL(TMsvId,TRequestStatus &)
    CMmsClientMtm::CreateServiceL()
    CMmsClientMtm::CreateTextAttachmentL(CMsvStore &,TMsvAttachmentId &,const TDesC &,const TDesC &,TBool)
    CMmsClientMtm::DefaultServiceL()const
    CMmsClientMtm::DeleteAttribute(const TDesC &)
    CMmsClientMtm::DeliveryDate()const
    CMmsClientMtm::DeliveryReport()const
    CMmsClientMtm::DeliveryTimeInterval()const
    CMmsClientMtm::Entry()const
    CMmsClientMtm::ExpiryDate()const
    CMmsClientMtm::ExpiryInterval()const
    CMmsClientMtm::Find(const TDesC &,TMsvPartList)
    CMmsClientMtm::FindAttribute(const TDesC &)
    CMmsClientMtm::GetAttributeL(const TDesC &)
    CMmsClientMtm::GetMaximumImage(TInt &,TInt &)const
    CMmsClientMtm::HandleEntryEventL(TMsvEntryEvent,TAny *,TAny *,TAny *)
    CMmsClientMtm::HasContext()const
    CMmsClientMtm::InvokeAsyncFunctionL(TInt,const CMsvEntrySelection &,TDes8 &,TRequestStatus &)
    CMmsClientMtm::InvokeSyncFunctionL(TInt,const CMsvEntrySelection &,TDes8 &)
    CMmsClientMtm::ListNotificationsInInboxL()
    CMmsClientMtm::LoadMessageL()
    CMmsClientMtm::MessageClass()const
    CMmsClientMtm::MessageContentLocation()const
    CMmsClientMtm::MessagePriority()const
    CMmsClientMtm::MessageReceiveTime()const
    CMmsClientMtm::MessageRootAttachment()const
    CMmsClientMtm::MessageSize()
    CMmsClientMtm::MessageTransferSize()const
    CMmsClientMtm::MmsSettings()
    CMmsClientMtm::NumberOfPreviousSenders()const
    CMmsClientMtm::PreviousSender(TInt)const
    CMmsClientMtm::PreviousSendingDate(TInt)const
    CMmsClientMtm::ReadReply()const
    CMmsClientMtm::RemoveAddressee(TInt)
    CMmsClientMtm::RemoveDefaultServiceL()
    CMmsClientMtm::ReplyL(TMsvId,TMsvPartList,TRequestStatus &)
    CMmsClientMtm::ResetAttributes()
    CMmsClientMtm::ResponseStatus()const
    CMmsClientMtm::ResponseText()const
    CMmsClientMtm::RestoreFactorySettingsL(TMmsFactorySettingsLevel)
    CMmsClientMtm::RestoreSettingsL()
    CMmsClientMtm::SaveMessageL()
    CMmsClientMtm::SendReadReportL(TMsvId,TRequestStatus &,TMmsReadStatus)
    CMmsClientMtm::Sender()const
    CMmsClientMtm::SenderVisibility()const
    CMmsClientMtm::SendingDate()const
    CMmsClientMtm::Session()
    CMmsClientMtm::SetCurrentEntryL(CMsvEntry *)
    CMmsClientMtm::SetDeliveryDate(TTime)
    CMmsClientMtm::SetDeliveryReport(TMmsYesNo)
    CMmsClientMtm::SetDeliveryTimeInterval(TTimeIntervalSeconds)
    CMmsClientMtm::SetExpiryDate(TTime)
    CMmsClientMtm::SetExpiryInterval(TTimeIntervalSeconds)
    CMmsClientMtm::SetMaximumImage(TInt,TInt)
    CMmsClientMtm::SetMessageClass(TMmsMessageClass)
    CMmsClientMtm::SetMessageDescriptionL(const TDesC &)
    CMmsClientMtm::SetMessagePriority(TMmsMessagePriority)
    CMmsClientMtm::SetMessageRootL(const TMsvAttachmentId)
    CMmsClientMtm::SetReadReply(TMmsYesNo)
    CMmsClientMtm::SetSenderL(const TDesC &)
    CMmsClientMtm::SetSenderVisibility(TMmsMessageSenderVisibility)
    CMmsClientMtm::SetSettingsL(const CMmsSettings &)
    CMmsClientMtm::SetSubjectL(const TDesC &)
    CMmsClientMtm::StoreSettingsL()
    CMmsClientMtm::SubjectL()const
    CMmsClientMtm::SwitchCurrentEntryL(TMsvId)
    CMmsClientMtm::Type()const
    CMmsClientMtm::ValidateMessage(TMsvPartList)
    CMmsClientMtm::ValidateService(TMsvId)
    CMmsClientMtm::~CMmsClientMtm()
    Inherited Attributes
    CBaseMtm::iAddresseeList
    CBaseMtm::iCharFormatLayer
    CBaseMtm::iMsvEntry
    CBaseMtm::iParaFormatLayer
    CMmsClientMtm::iAccessPointCount
    CMmsClientMtm::iAttributes
    CMmsClientMtm::iFetchAll
    CMmsClientMtm::iFetchOverride
    CMmsClientMtm::iHomeMode
    CMmsClientMtm::iMessageDrive
    CMmsClientMtm::iMmsHeaders
    CMmsClientMtm::iMmsSettings
    CMmsClientMtm::iOwnSession
    CMmsClientMtm::iRoamingMode
    CMmsClientMtm::iServiceId

    Constructor & Destructor Documentation

    CMmsNotificationClientMtm(CRegisteredMtmDll &, CMsvSession &)

    CMmsNotificationClientMtm(CRegisteredMtmDll &aRegisteredMtmDll,
    CMsvSession &aSession
    )[private]

    By default Symbian OS constructor is private.

    Parameters

    CRegisteredMtmDll & aRegisteredMtmDllReference to Mtm Dll registry class
    CMsvSession & aSessionReference to a Message Server session.

    ~CMmsNotificationClientMtm()

    ~CMmsNotificationClientMtm()

    Destructor.

    Member Functions Documentation

    ConstructL()

    voidConstructL()[private]

    By default Symbian OS constructor is private.

    CreateForwardEntryL(const TMsvId)

    TMsvId CreateForwardEntryL(const TMsvIdaDestination)[private]

    Creates an entry representing forward request based on the notification being the current context.

    Parameters

    const TMsvId aDestinationrefers to the folder where the entry is created

    DeleteAllNotificationsL(TMmsDeleteOperationType, TRequestStatus &)

    CMsvOperation *DeleteAllNotificationsL(TMmsDeleteOperationTypeaDeleteType,
    TRequestStatus &aCompletionStatus
    )[virtual]

    DeleteAllNotificationsL deletes all the notifications found from Inbox

    Parameters

    TMmsDeleteOperationType aDeleteTypespecifies which type of delete operation is done: -EMmsDeleteNotificationOnly: only notification entry from Inbox is deleted -EMmsDeleteMMBoxOnly: only corresponding message from network is deleted -EMmsDeleteBoth: both are deleted
    TRequestStatus & aCompletionStatusiStatus member of an active object. It will be set as completed when the request has finished.

    DeleteForwardEntryL(const CMsvEntrySelection &)

    voidDeleteForwardEntryL(const CMsvEntrySelection &aSelection)[virtual]
    DeleteForwardEntryL deletes the given selection of forward entries. Caller should make sure that all the entries in the selection are:
    • either in Outbox or Sent Folder

    • forward entry created earlier through this API Entries that do not meet these requirements, are left untouched. After the call, current context points to forward entry parent (outbox or sent folder) Note: that forward request entries should not be deleted directly e.g. with CMsvEntry, because of the possible locked notification in Inbox. This method handles this notification.

    Parameters

    const CMsvEntrySelection & aSelectioncontains list of forward entries to be deleted

    DeleteNotificationL(const CMsvEntrySelection &, TMmsDeleteOperationType, TRequestStatus &)

    CMsvOperation *DeleteNotificationL(const CMsvEntrySelection &aSelection,
    TMmsDeleteOperationTypeaDeleteType,
    TRequestStatus &aCompletionStatus
    )[virtual]

    DeleteNotificationL deletes selected notifications.

    Parameters

    const CMsvEntrySelection & aSelectioncontains list of notifications to be deleted
    TMmsDeleteOperationType aDeleteTypespecifies which type of delete operation is done: -EMmsDeleteNotificationOnly: only notification entry from Inbox is deleted -EMmsDeleteMMBoxOnly: only corresponding message from network is deleted -EMmsDeleteBoth: both are deleted
    TRequestStatus & aCompletionStatusiStatus member of an active object. It will be set as completed when the request has finished.

    FetchAllL(TRequestStatus &, TBool)

    CMsvOperation *FetchAllL(TRequestStatus &aCompletionStatus,
    TBoolaForced = ETrue
    )[virtual]

    Fetch multimedia messages for all notifications that are free to be fetched in Inbox from current MMSC to inbox. If the Inbox does not contain any notification, the function leaves.

    Parameters

    TRequestStatus & aCompletionStatusiStatus member of an active object. It will be set as completed when the request has finished. aForced indicates if the messages should be fetched regardless or current mode settings. ETrue = user initiated fetch, use override EFalse = event triggered fetch, fetch only if settings allow.
    TBool aForced = ETrue

    FetchMessageL(TMsvId, TRequestStatus &)

    CMsvOperation *FetchMessageL(TMsvIdaId,
    TRequestStatus &aCompletionStatus
    )[virtual]

    Fetch the multimedia message of the notification from current MMSC to inbox.

    Parameters

    TMsvId aIdEntry ID of a notification that refers to an unfetched message.
    TRequestStatus & aCompletionStatusiStatus member of an active object. It will be set as completed when the request has finished.

    FetchMessagesL(const CMsvEntrySelection &, TRequestStatus &)

    CMsvOperation *FetchMessagesL(const CMsvEntrySelection &aSelection,
    TRequestStatus &aCompletionStatus
    )[virtual]

    Fetch MMS messages referred by the notification selection from current MMSC to inbox. If aSelection is empty, the function leaves.

    If the aSelection contains only entries that are not notifications or are notifications that are not allowed to start a new operation, The fetch is not started. The function leaves.

    Only real free notifications are fetched. No error code is returned, if some of the notifications are not fetched and there are notifications to be fetched.

    Parameters

    const CMsvEntrySelection & aSelectionselection of notification entries.
    TRequestStatus & aCompletionStatusiStatus member of an active object. It will be set as completed when the request has finished.

    FindDuplicateNotificationL(TMsvId, CMmsHeaders &, TMsvId &)

    voidFindDuplicateNotificationL(TMsvIdaParent,
    CMmsHeaders &aHeaders,
    TMsvId &aDuplicate
    )[private]

    Find duplicate notification

    Parameters

    TMsvId aParententry id, under where the duplicate is searched
    CMmsHeaders & aHeadersthe original mms headers, whose duplicate is searched
    TMsvId & aDuplicateentry id of the found duplicate

    ForwardL(TMsvId, TMsvPartList, TRequestStatus &)

    CMsvOperation *ForwardL(TMsvIdaDestination,
    TMsvPartListaPartList,
    TRequestStatus &aCompletionStatus
    )[virtual]

    Creates an entry representing forward request based on the notification being the current context.

    Parameters

    TMsvId aDestinationrefers to the folder where the entry is created
    TMsvPartList aPartList
    TRequestStatus & aCompletionStatusreference to the status of an active object. This status will be set as completed when the operation completes.

    FreeNotification(TMsvEntry &, const TUint32)

    TBool FreeNotification(TMsvEntry &aEntry,
    const TUint32aOperation
    )[private]

    check if the notification is free to start a new operation

    Parameters

    TMsvEntry & aEntry
    const TUint32 aOperation

    GetApplicationId()

    const TPtrCGetApplicationId()const [virtual]

    Get the value of application id header if present in the notification.

    Since
    3.2

    GetExtendedText()

    const TPtrCGetExtendedText()const [virtual]

    Returns possible extension text related to the notification

    GetMmboxFolderL()

    TMsvId GetMmboxFolderL()[virtual]

    Get the Mmbox folder

    ListNotificationsL()

    CMsvEntrySelection *ListNotificationsL()[virtual]

    Lists all MMS Notifications, that have no active operation, for unfetched messages. Caller must delete the array when no longer needed. The notifications have similar format as messages, but they contain only MMS headers, and no attachments. Individual fields can be queried the same way as for messages.

    MarkFreeNotificationsReservedL(CMsvEntrySelection &, const TUint32)

    voidMarkFreeNotificationsReservedL(CMsvEntrySelection &aNotifications,
    const TUint32aOperation
    )[private]

    MarkFreeNotificationsReservedL reserves notifications aSelection contains only reserved notifications, others are dropped out.

    Parameters

    CMsvEntrySelection & aNotifications
    const TUint32 aOperation(fetching, forwarding or deleting)

    MarkNotificationOperationReserved(TMsvEntry &, const TUint32)

    voidMarkNotificationOperationReserved(TMsvEntry &aEntry,
    const TUint32aOperation
    )[private]

    Reserve the notification

    Parameters

    TMsvEntry & aEntry
    const TUint32 aOperation

    MmboxInfoL(TMmboxInfo &)

    TBool MmboxInfoL(TMmboxInfo &aMmboxInfo)[virtual]

    MmBoxInfoL gives info about MMBox, if available.

    Parameters

    TMmboxInfo & aMmboxInfostruct about mmboxInfo

    NewL(CRegisteredMtmDll &, CMsvSession &)

    IMPORT_C CMmsNotificationClientMtm *NewL(CRegisteredMtmDll &aRegisteredMtmDll,
    CMsvSession &aSession
    )[static]

    Factory function.

    The only function exported by this polymorphic interface dll. This function is not directly called by the application that needs access, it is called by an instance of CClientMtmRegistry class.

    Parameters

    CRegisteredMtmDll & aRegisteredMtmDllMtm Dll registry class
    CMsvSession & aSessionMessage Server session.

    NotificationCount()

    TInt NotificationCount()[virtual]

    Get number of MMS Notifications for unfetched messages that have no active operation. If the receiving of Multimedia Messages has been turned off, there may be a number of notifications waiting for processing. When the receiving of messages is turned on again, the UI may want to check the number of pending notifications before giving the "FetchAll" command.

    QueryCapability(TUid, TInt &)

    TInt QueryCapability(TUidaCapability,
    TInt &aResponse
    )[virtual]

    QueryCapability

    Parameters

    TUid aCapability
    TInt & aResponse

    ReserveNotificationOperationL(const TMsvId, const TUint32)

    TInt ReserveNotificationOperationL(const TMsvIdaNotifIf,
    const TUint32aOperation
    )[private]

    ReserveNotificationOperationL method first tests whether an operation is allowed or not. If allowed, further operations are not possible If not allowed, error is returned

    Parameters

    const TMsvId aNotifIf
    const TUint32 aOperation(fetching, forwarding or deleting)

    SendL(TRequestStatus &, const TTime)

    CMsvOperation *SendL(TRequestStatus &aCompletionStatus,
    const TTimeaSendingTime =  TTime(0)
    )[virtual]

    Send current forward entry (has to be current context)

    Parameters

    TRequestStatus & aCompletionStatusiStatus member of an active object. Will be set as completed when the request has finished.
    const TTime aSendingTime =  TTime(0)time at which the message selection is to be sent given as local time. If aSending time is zero or in the past, the message is scheduled to be sent as soon as possible. Defaults to zero meaning immediate sending.

    SendL(CMsvEntrySelection &, TRequestStatus &, TTime)

    CMsvOperation *SendL(CMsvEntrySelection &aSelection,
    TRequestStatus &aCompletionStatus,
    TTimeaSendingTime
    )[virtual]

    Not supported. Implementation of the base class is overriden.

    Parameters

    CMsvEntrySelection & aSelection
    TRequestStatus & aCompletionStatus
    TTime aSendingTime

    UnscheduledDeleteNotificationL(const CMsvEntrySelection &, TMmsDeleteOperationType, TRequestStatus &)

    CMsvOperation *UnscheduledDeleteNotificationL(const CMsvEntrySelection &aSelection,
    TMmsDeleteOperationTypeaDeleteType,
    TRequestStatus &aCompletionStatus
    )[virtual]

    UnscheduledDeleteNotificationL EXACTLY SAME AS DeleteNotificationL ABOVE, BUT: This version performs unscheduled delete meaning that the returned operation will not complete before the whole operation has been executed. (Previous version completes as soon as MessageServer has scheduled the request)

    Parameters

    const CMsvEntrySelection & aSelection
    TMmsDeleteOperationType aDeleteType
    TRequestStatus & aCompletionStatus

    UpdateMmBoxListL(TRequestStatus &)

    CMsvOperation *UpdateMmBoxListL(TRequestStatus &aCompletionStatus)[virtual]

    UpdateMmBoxListL updates the list of notifications available in the MMBox.

    Parameters

    TRequestStatus & aCompletionStatusiStatus member of an active object. It will be set as completed when the request has finished.