CSendUi Class Reference

class CSendUi : public CBase

Offers "Send" pop-up list and message creation and sending services.

Can be used to display "Send" list query and to create and send messages via available services. Sending services can be based on the MTM or ECom architecture. Created messages are sent directly or message editor is opened for editing, depending on the type of selected service.

SendUi.lib
Since
Series 60 3.0

Inherits from

Public Member Functions
~CSendUi()
IMPORT_C voidAddSendMenuItemL(CEikMenuPane &, TInt, TInt, TSendingCapabilities)
IMPORT_C voidAddTypedMenuItemL(TSendUiMenuType, CEikMenuPane &, TInt, TInt, TSendingCapabilities)
IMPORT_C voidAvailableServicesL(RPointerArray< CSendingServiceInfo > &, TUid)
IMPORT_C TBoolCanSendBioMessage(TUid)
IMPORT_C voidCreateAndSendMessageL(TUid, const CMessageData *, TUid, TBool)
IMPORT_C CSendUi *NewL()
IMPORT_C CSendUi *NewLC()
IMPORT_C TIntServiceCapabilitiesL(TUid, TSendingCapabilities &)
IMPORT_C voidShowQueryAndSendL(const CMessageData *, TSendingCapabilities, CArrayFix< TUid > *, TUid, TBool, const TDesC &)
IMPORT_C TUidShowSendQueryL(const CMessageData *, TSendingCapabilities, CArrayFix< TUid > *, const TDesC &)
IMPORT_C voidShowTypedQueryAndSendL(TSendUiMenuType, const CMessageData *, TSendingCapabilities, CArrayFix< TUid > *, TUid, TBool, const TDesC &)
IMPORT_C TUidShowTypedQueryL(TSendUiMenuType, const CMessageData *, TSendingCapabilities, CArrayFix< TUid > *, const TDesC &)
IMPORT_C TUidTechnologyType(TUid)
IMPORT_C TBoolValidateServiceL(TUid, TSendingCapabilities)
Private Member Functions
CSendUi()
voidConstructL()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
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()
Public Member Enumerations
enumTSendUiMenuType { ESendMenu, EWriteMenu }
Private Attributes
CSendUiImpl *iSendUiImpl

Constructor & Destructor Documentation

CSendUi()

CSendUi()[private]

C++ default constructor.

~CSendUi()

IMPORT_C~CSendUi()[virtual]

Destructor.

Member Functions Documentation

AddSendMenuItemL(CEikMenuPane &, TInt, TInt, TSendingCapabilities)

IMPORT_C voidAddSendMenuItemL(CEikMenuPane &aMenuPane,
TIntaIndex,
TIntaCommandId,
TSendingCapabilitiesaRequiredCapabilities = KCapabilitiesForAllServices
)

Adds "Send" menu item to menupane.

Since
Series 60 3.0

Parameters

CEikMenuPane & aMenuPaneMenupane where the "Send" menu item should be added.
TInt aIndexThe place of the "Send" menu item in menupane.
TInt aCommandIdCommand id for the "Send" menu item.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServicesCapabilities required by services to be shown in "Send" list query. If no capabilities are required (KCapabilitiesForAllServices), all available services are shown in "Send" list query.

AddTypedMenuItemL(TSendUiMenuType, CEikMenuPane &, TInt, TInt, TSendingCapabilities)

IMPORT_C voidAddTypedMenuItemL(TSendUiMenuTypeaMenuType,
CEikMenuPane &aMenuPane,
TIntaIndex,
TIntaCommandId,
TSendingCapabilitiesaRequiredCapabilities = KCapabilitiesForAllServices
)

Adds menu item of given type to menupane.

Since
Series 60 3.0

Parameters

TSendUiMenuType aMenuTypeType of the menu, "ESendMenu" or "EWriteMenu"
CEikMenuPane & aMenuPaneMenupane where the menu item should be added.
TInt aIndexThe place of the menu item in menupane.
TInt aCommandIdCommand id for the menu item.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServicesCapabilities required from services to be shown in list query. If no capabilities are required (KCapabilitiesForAllServices), all available services are shown in list query.

AvailableServicesL(RPointerArray< CSendingServiceInfo > &, TUid)

IMPORT_C voidAvailableServicesL(RPointerArray< CSendingServiceInfo > &aServiceList,
TUidaServiceProvider = KNullUid
)

Populates given list with the information about services provided by specified ECom service provider. Each service provider can provide 1..n services. Ownership of the pointed objects are transfered to caller.

Can be used for ex. when creating own "Send" menu, which needs to include ECom based services.

NOTE: Can be used only for ECom based services, also for MTMs

Since
Series 60 2.8

Parameters

RPointerArray< CSendingServiceInfo > & aServiceListService list to be populated.
TUid aServiceProvider = KNullUidId of the specified service provider. KNullId means all service providers. Service providers are defined in SendUiConsts.h

CanSendBioMessage(TUid)

IMPORT_C TBoolCanSendBioMessage(TUidaBioMessageUid)const
Can be used to check if sending of bio message is supported. Deprecated.
Since
Series 60 3.0

Parameters

TUid aBioMessageUidUid of the bio message.

ConstructL()

voidConstructL()[private]

By default Symbian 2nd phase constructor is private.

CreateAndSendMessageL(TUid, const CMessageData *, TUid, TBool)

IMPORT_C voidCreateAndSendMessageL(TUidaServiceUid,
const CMessageData *aMessageData,
TUidaBioTypeUid = KNullUid,
TBoolaLaunchEditorEmbedded = ETrue
)

Creates the message and launches the editor for editing the message or sends the message directly without opening the editor. Functionality depends on the type of selected service.

Since
Series 60 3.0

Parameters

TUid aServiceUidUid of the sending service (MTM or ECom).
const CMessageData * aMessageDataData for the message.
TUid aBioTypeUid = KNullUidBIO message type uid. Deprecated.
TBool aLaunchEditorEmbedded = ETrueETrue if the editor should be launched embedded. Otherwise the editor is launched stand-alone. Note: some sending services sends the messages without launching the editor at all.

NewL()

IMPORT_C CSendUi *NewL()[static]

Two-phased constructor.

NewLC()

IMPORT_C CSendUi *NewLC()[static]

Two-phased constructor.

ServiceCapabilitiesL(TUid, TSendingCapabilities &)

IMPORT_C TIntServiceCapabilitiesL(TUidaServiceUid,
TSendingCapabilities &aServiceCapabilities
)
Returns sending capabilities of the sending service.
Since
Series 60 3.0

Parameters

TUid aServiceUidUid of the sending service (MTM or ECom).
TSendingCapabilities & aServiceCapabilitiesTSendingCapabilities of the sending service as a return value.

ShowQueryAndSendL(const CMessageData *, TSendingCapabilities, CArrayFix< TUid > *, TUid, TBool, const TDesC &)

IMPORT_C voidShowQueryAndSendL(const CMessageData *aMessageData,
TSendingCapabilitiesaRequiredCapabilities = KCapabilitiesForAllServices,
CArrayFix< TUid > *aServicesToDim = NULL,
TUidaBioTypeUid = KNullUid,
TBoolaLaunchEditorEmbedded = ETrue,
const TDesC &aTitleText =  KNullDesC
)

First displays "Send" pop-up list query and then creates the message. Editor is launched for editing the message or the message is sent directly without opening the editor. Functionality depends on the type of selected service.

"Send" pop-up list query can be manipulated in three ways. All three methods can be used or just some of those.

The first option is to set the required capabilities for services. Eg. attachments supported. Sending services not matching to required capabilities are filtered away. Capabilities are defined in TSendingCapabilities.h.

The second option is content based filtering. Filtering is based on the files intended to send. Those files can be set as part of message data. Filtering is done according the predefined rules. Eg. If oversized file is intended to send, MMS is filtered away from "Send" pop-up list.

The third option is to set the array of service uids not wanted to be shown in list query. These sending services are filtered away even if those match to required capabilities.

Since
Series 60 3.0

Parameters

const CMessageData * aMessageDataData for the message.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServicesCapabilities required by sending services to be shown in "Send" pop-up list query. If no capabilities are required (KCapabilitiesForAllServices), all available services are shown in "Send" pop-up list query.
CArrayFix< TUid > * aServicesToDim = NULLArray of service uids (service uid, service provider's uid or service's TechnologyType) _NOT_ wanted to "Send" list query. See predefined sending service uids in SendUiConsts.h .
TUid aBioTypeUid = KNullUidBIO message type uid. Deprecated.
TBool aLaunchEditorEmbedded = ETrueETrue if the editor should be launched embedded. Otherwise the editor is launched stand-alone. Note: some services sends the messages without launching the editor at all.
const TDesC & aTitleText =  KNullDesC Title of the "Send" pop-up list query. If no title is defined, then the localised default title "Send:" is used.

ShowSendQueryL(const CMessageData *, TSendingCapabilities, CArrayFix< TUid > *, const TDesC &)

IMPORT_C TUidShowSendQueryL(const CMessageData *aMessageData = NULL,
TSendingCapabilitiesaRequiredCapabilities = KCapabilitiesForAllServices,
CArrayFix< TUid > *aServicesToDim = NULL,
const TDesC &aTitleText =  KNullDesC
)

Displays "Send" pop-up list query and returns the user selection.

"Send" pop-up list query can be manipulated in three ways. All three methods can be used or just some of those.

The first option is to set the required capabilities for services. Eg. attachments supported. Sending services not matching to required capabilities are filtered away. Capabilities are defined in TSendingCapabilities.h.

The second option is content based filtering. Filtering is based on the files intended to send. Those files can be set as part of message data. Filtering is done according the predefined rules. Eg. If oversized file is intended to send, MMS is filtered away from "Send" pop-up list.

The third option is to set the array of service uids not wanted to be shown in list query. These sending services are filtered away even if those match to required capabilities.

Since
Series 60 3.0

Parameters

const CMessageData * aMessageData = NULLData for the message. Attachments are used for content based filtering.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServicesCapabilities required by sending services to be shown in "Send" pop-up list query. If no capabilities are required (KCapabilitiesForAllServices), all available services are shown in "Send" pop-up list query.
CArrayFix< TUid > * aServicesToDim = NULLArray of service uids (service uid, service provider's uid or service's TechnologyType) _NOT_ wanted to "Send" list query. See predefined sending service uids in SendUiConsts.h .
const TDesC & aTitleText =  KNullDesC Title of the "Send" pop-up list query. If no title is defined, then the localised default title "Send:" is used.

ShowTypedQueryAndSendL(TSendUiMenuType, const CMessageData *, TSendingCapabilities, CArrayFix< TUid > *, TUid, TBool, const TDesC &)

IMPORT_C voidShowTypedQueryAndSendL(TSendUiMenuTypeaMenuType,
const CMessageData *aMessageData,
TSendingCapabilitiesaRequiredCapabilities = KCapabilitiesForAllServices,
CArrayFix< TUid > *aServicesToDim = NULL,
TUidaBioTypeUid = KNullUid,
TBoolaLaunchEditorEmbedded = ETrue,
const TDesC &aTitleText =  KNullDesC
)

Displays list query and creates message. See ShowQueryAndSendL.

Since
Series 60 3.0

Parameters

TSendUiMenuType aMenuTypeType of the menu, e.g. "ESendMenu" or "EWriteMenu"
const CMessageData * aMessageDataData for the message.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServicesCapabilities required by sending services to be shown in "Send" pop-up list query. If no capabilities are required (KCapabilitiesForAllServices), all available services are shown in "Send" pop-up list query.
CArrayFix< TUid > * aServicesToDim = NULLArray of service uids (service uid, service provider's uid or service's TechnologyType) _NOT_ wanted to "Send" list query. See predefined sending service uids in SendUiConsts.h .
TUid aBioTypeUid = KNullUidBIO message type uid. Deprecated.
TBool aLaunchEditorEmbedded = ETrueETrue if the editor should be launched embedded. Otherwise the editor is launched stand-alone. Note: some services sends the messages without launching the editor at all.
const TDesC & aTitleText =  KNullDesC Title of the list query. If no title is defined, then the localised default title is used, e.g. "Send" or "Write".

ShowTypedQueryL(TSendUiMenuType, const CMessageData *, TSendingCapabilities, CArrayFix< TUid > *, const TDesC &)

IMPORT_C TUidShowTypedQueryL(TSendUiMenuTypeaMenuType,
const CMessageData *aMessageData = NULL,
TSendingCapabilitiesaRequiredCapabilities = KCapabilitiesForAllServices,
CArrayFix< TUid > *aServicesToDim = NULL,
const TDesC &aTitleText =  KNullDesC
)

Displays list query and returns the user selection. See ShowSendQueryL.

Since
Series 60 3.0

Parameters

TSendUiMenuType aMenuTypeType of the menu, e.g. "ESendMenu" or "EWriteMenu"
const CMessageData * aMessageData = NULLData for the message. Attachments are used for content based filtering.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServicesCapabilities required by sending services to be shown in list query. If no capabilities are required (KCapabilitiesForAllServices), all available services are shown in list query.
CArrayFix< TUid > * aServicesToDim = NULLArray of service uids (service uid, service provider's uid or service's TechnologyType) _NOT_ wanted to "Send" list query. See predefined sending service uids in SendUiConsts.h .
const TDesC & aTitleText =  KNullDesC Title of the list query. If no title is defined, then the localised default title is used, e.g. "Send" or "Write"

TechnologyType(TUid)

IMPORT_C TUidTechnologyType(TUidaServiceUid)const

Returns the technology type of a service

Since
Series 60 3.0

Parameters

TUid aServiceUid

ValidateServiceL(TUid, TSendingCapabilities)

IMPORT_C TBoolValidateServiceL(TUidaServiceUid,
TSendingCapabilitiesaRequiredCapabilities
)
Validates that service is available and has required capabilities. For ex. can be used when calling application creates its own "Send" menu.
Since
Series 60 3.0

Parameters

TUid aServiceUidUid of the sending service (MTM or ECom).
TSendingCapabilities aRequiredCapabilitiesCapabilities required for the sending service.

Member Enumerations Documentation

Enum TSendUiMenuType

Enumerators

ESendMenu
EWriteMenu

Member Data Documentation

CSendUiImpl * iSendUiImpl

CSendUiImpl *iSendUiImpl[private]