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 void AddSendMenuItemL (CEikMenuPane &, TInt , TInt , TSendingCapabilities )
IMPORT_C void AddTypedMenuItemL ( TSendUiMenuType , CEikMenuPane &, TInt , TInt , TSendingCapabilities )
IMPORT_C void AvailableServicesL ( RPointerArray < CSendingServiceInfo > &, TUid )
IMPORT_C TBool CanSendBioMessage ( TUid )
IMPORT_C void CreateAndSendMessageL ( TUid , const CMessageData *, TUid , TBool )
IMPORT_C CSendUi * NewL ()
IMPORT_C CSendUi * NewLC ()
IMPORT_C TInt ServiceCapabilitiesL ( TUid , TSendingCapabilities &)
IMPORT_C void ShowQueryAndSendL (const CMessageData *, TSendingCapabilities , CArrayFix < TUid > *, TUid , TBool , const TDesC &)
IMPORT_C TUid ShowSendQueryL (const CMessageData *, TSendingCapabilities , CArrayFix < TUid > *, const TDesC &)
IMPORT_C void ShowTypedQueryAndSendL ( TSendUiMenuType , const CMessageData *, TSendingCapabilities , CArrayFix < TUid > *, TUid , TBool , const TDesC &)
IMPORT_C TUid ShowTypedQueryL ( TSendUiMenuType , const CMessageData *, TSendingCapabilities , CArrayFix < TUid > *, const TDesC &)
IMPORT_C TUid TechnologyType ( TUid )
IMPORT_C TBool ValidateServiceL ( TUid , TSendingCapabilities )
Private Member Functions
CSendUi ()
void ConstructL ()
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
enum TSendUiMenuType { 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 void AddSendMenuItemL ( CEikMenuPane & aMenuPane,
TInt aIndex,
TInt aCommandId,
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices
)

Adds "Send" menu item to menupane.

Since
Series 60 3.0

Parameters

CEikMenuPane & aMenuPane Menupane where the "Send" menu item should be added.
TInt aIndex The place of the "Send" menu item in menupane.
TInt aCommandId Command id for the "Send" menu item.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices Capabilities 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 void AddTypedMenuItemL ( TSendUiMenuType aMenuType,
CEikMenuPane & aMenuPane,
TInt aIndex,
TInt aCommandId,
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices
)

Adds menu item of given type to menupane.

Since
Series 60 3.0

Parameters

TSendUiMenuType aMenuType Type of the menu, "ESendMenu" or "EWriteMenu"
CEikMenuPane & aMenuPane Menupane where the menu item should be added.
TInt aIndex The place of the menu item in menupane.
TInt aCommandId Command id for the menu item.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices Capabilities 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 void AvailableServicesL ( RPointerArray < CSendingServiceInfo > & aServiceList,
TUid aServiceProvider = 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 > & aServiceList Service list to be populated.
TUid aServiceProvider = KNullUid Id of the specified service provider. KNullId means all service providers. Service providers are defined in SendUiConsts.h

CanSendBioMessage(TUid)

IMPORT_C TBool CanSendBioMessage ( TUid aBioMessageUid ) const
Can be used to check if sending of bio message is supported. Deprecated.
Since
Series 60 3.0

Parameters

TUid aBioMessageUid Uid of the bio message.

ConstructL()

void ConstructL ( ) [private]

By default Symbian 2nd phase constructor is private.

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

IMPORT_C void CreateAndSendMessageL ( TUid aServiceUid,
const CMessageData * aMessageData,
TUid aBioTypeUid = KNullUid,
TBool aLaunchEditorEmbedded = 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 aServiceUid Uid of the sending service (MTM or ECom).
const CMessageData * aMessageData Data for the message.
TUid aBioTypeUid = KNullUid BIO message type uid. Deprecated.
TBool aLaunchEditorEmbedded = ETrue ETrue 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 TInt ServiceCapabilitiesL ( TUid aServiceUid,
TSendingCapabilities & aServiceCapabilities
)
Returns sending capabilities of the sending service.
Since
Series 60 3.0

Parameters

TUid aServiceUid Uid of the sending service (MTM or ECom).
TSendingCapabilities & aServiceCapabilities TSendingCapabilities of the sending service as a return value.

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

IMPORT_C void ShowQueryAndSendL ( const CMessageData * aMessageData,
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
CArrayFix < TUid > * aServicesToDim = NULL,
TUid aBioTypeUid = KNullUid,
TBool aLaunchEditorEmbedded = 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 * aMessageData Data for the message.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices Capabilities 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 = NULL Array 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 = KNullUid BIO message type uid. Deprecated.
TBool aLaunchEditorEmbedded = ETrue ETrue 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 TUid ShowSendQueryL ( const CMessageData * aMessageData = NULL,
TSendingCapabilities aRequiredCapabilities = 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 = NULL Data for the message. Attachments are used for content based filtering.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices Capabilities 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 = NULL Array 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 void ShowTypedQueryAndSendL ( TSendUiMenuType aMenuType,
const CMessageData * aMessageData,
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
CArrayFix < TUid > * aServicesToDim = NULL,
TUid aBioTypeUid = KNullUid,
TBool aLaunchEditorEmbedded = ETrue,
const TDesC & aTitleText =  KNullDesC
)

Displays list query and creates message. See ShowQueryAndSendL.

Since
Series 60 3.0

Parameters

TSendUiMenuType aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
const CMessageData * aMessageData Data for the message.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices Capabilities 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 = NULL Array 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 = KNullUid BIO message type uid. Deprecated.
TBool aLaunchEditorEmbedded = ETrue ETrue 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 TUid ShowTypedQueryL ( TSendUiMenuType aMenuType,
const CMessageData * aMessageData = NULL,
TSendingCapabilities aRequiredCapabilities = 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 aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
const CMessageData * aMessageData = NULL Data for the message. Attachments are used for content based filtering.
TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices Capabilities 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 = NULL Array 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 TUid TechnologyType ( TUid aServiceUid ) const

Returns the technology type of a service

Since
Series 60 3.0

Parameters

TUid aServiceUid

ValidateServiceL(TUid, TSendingCapabilities)

IMPORT_C TBool ValidateServiceL ( TUid aServiceUid,
TSendingCapabilities aRequiredCapabilities
)
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 aServiceUid Uid of the sending service (MTM or ECom).
TSendingCapabilities aRequiredCapabilities Capabilities required for the sending service.

Member Enumerations Documentation

Enum TSendUiMenuType

Enumerators

ESendMenu
EWriteMenu

Member Data Documentation

CSendUiImpl * iSendUiImpl

CSendUiImpl * iSendUiImpl [private]