CMmsNotificationClientMtm Class Reference

class CMmsNotificationClientMtm : public CMmsClientMtm

Client Mtm for MMS Notifications

Inherits from

  • CMmsNotificationClientMtm
Public Member Functions
~CMmsNotificationClientMtm ()
CMsvOperation * DeleteAllNotificationsL (TMmsDeleteOperationType, TRequestStatus &)
void DeleteForwardEntryL (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 TPtrC GetApplicationId ()
const TPtrC GetExtendedText ()
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 &)
void ConstructL ()
TMsvId CreateForwardEntryL (const TMsvId )
void FindDuplicateNotificationL ( TMsvId , CMmsHeaders &, TMsvId &)
TBool FreeNotification ( TMsvEntry &, const TUint32 )
void MarkFreeNotificationsReservedL ( CMsvEntrySelection &, const TUint32 )
void MarkNotificationOperationReserved ( 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 & aRegisteredMtmDll Reference to Mtm Dll registry class
CMsvSession & aSession Reference to a Message Server session.

~CMmsNotificationClientMtm()

~CMmsNotificationClientMtm ( )

Destructor.

Member Functions Documentation

ConstructL()

void ConstructL ( ) [private]

By default Symbian OS constructor is private.

CreateForwardEntryL(const TMsvId)

TMsvId CreateForwardEntryL ( const TMsvId aDestination ) [private]

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

Parameters

const TMsvId aDestination refers to the folder where the entry is created

DeleteAllNotificationsL(TMmsDeleteOperationType, TRequestStatus &)

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

DeleteAllNotificationsL deletes all the notifications found from Inbox

Parameters

TMmsDeleteOperationType aDeleteType specifies 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 & aCompletionStatus iStatus member of an active object. It will be set as completed when the request has finished.

DeleteForwardEntryL(const CMsvEntrySelection &)

void DeleteForwardEntryL ( 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 & aSelection contains list of forward entries to be deleted

DeleteNotificationL(const CMsvEntrySelection &, TMmsDeleteOperationType, TRequestStatus &)

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

DeleteNotificationL deletes selected notifications.

Parameters

const CMsvEntrySelection & aSelection contains list of notifications to be deleted
TMmsDeleteOperationType aDeleteType specifies 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 & aCompletionStatus iStatus member of an active object. It will be set as completed when the request has finished.

FetchAllL(TRequestStatus &, TBool)

CMsvOperation * FetchAllL ( TRequestStatus & aCompletionStatus,
TBool aForced = 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 & aCompletionStatus iStatus 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 ( TMsvId aId,
TRequestStatus & aCompletionStatus
) [virtual]

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

Parameters

TMsvId aId Entry ID of a notification that refers to an unfetched message.
TRequestStatus & aCompletionStatus iStatus 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 & aSelection selection of notification entries.
TRequestStatus & aCompletionStatus iStatus member of an active object. It will be set as completed when the request has finished.

FindDuplicateNotificationL(TMsvId, CMmsHeaders &, TMsvId &)

void FindDuplicateNotificationL ( TMsvId aParent,
CMmsHeaders & aHeaders,
TMsvId & aDuplicate
) [private]

Find duplicate notification

Parameters

TMsvId aParent entry id, under where the duplicate is searched
CMmsHeaders & aHeaders the original mms headers, whose duplicate is searched
TMsvId & aDuplicate entry id of the found duplicate

ForwardL(TMsvId, TMsvPartList, TRequestStatus &)

CMsvOperation * ForwardL ( TMsvId aDestination,
TMsvPartList aPartList,
TRequestStatus & aCompletionStatus
) [virtual]

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

Parameters

TMsvId aDestination refers to the folder where the entry is created
TMsvPartList aPartList
TRequestStatus & aCompletionStatus reference 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 TUint32 aOperation
) [private]

check if the notification is free to start a new operation

Parameters

TMsvEntry & aEntry
const TUint32 aOperation

GetApplicationId()

const TPtrC GetApplicationId ( ) const [virtual]

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

Since
3.2

GetExtendedText()

const TPtrC GetExtendedText ( ) 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)

void MarkFreeNotificationsReservedL ( CMsvEntrySelection & aNotifications,
const TUint32 aOperation
) [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)

void MarkNotificationOperationReserved ( TMsvEntry & aEntry,
const TUint32 aOperation
) [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 & aMmboxInfo struct 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 & aRegisteredMtmDll Mtm Dll registry class
CMsvSession & aSession Message 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 ( TUid aCapability,
TInt & aResponse
) [virtual]

QueryCapability

Parameters

TUid aCapability
TInt & aResponse

ReserveNotificationOperationL(const TMsvId, const TUint32)

TInt ReserveNotificationOperationL ( const TMsvId aNotifIf,
const TUint32 aOperation
) [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 TTime aSendingTime =  TTime (0)
) [virtual]

Send current forward entry (has to be current context)

Parameters

TRequestStatus & aCompletionStatus iStatus 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,
TTime aSendingTime
) [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,
TMmsDeleteOperationType aDeleteType,
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 & aCompletionStatus iStatus member of an active object. It will be set as completed when the request has finished.