00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef CSENDUI_H
00025 #define CSENDUI_H
00026
00027 #include <TSendingCapabilities.h>
00028
00029
00030 class CEikMenuPane;
00031 class CSendUiImpl;
00032 class CMessageData;
00033 class CSendingServiceInfo;
00034
00035 #define KMaxStringLength 1024;
00036
00037
00038
00039
00052 class CSendUi : public CBase
00053 {
00054 public:
00055
00059 IMPORT_C static CSendUi* NewL();
00060
00064 IMPORT_C static CSendUi* NewLC();
00065
00069 IMPORT_C virtual ~CSendUi();
00070
00071 public:
00072
00086 IMPORT_C void AddSendMenuItemL(
00087 CEikMenuPane& aMenuPane,
00088 TInt aIndex,
00089 TInt aCommandId,
00090 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices );
00091
00135 IMPORT_C void ShowQueryAndSendL(
00136 const CMessageData* aMessageData,
00137 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
00138 CArrayFix<TUid>* aServicesToDim = NULL,
00139 TUid aBioTypeUid = KNullUid,
00140 TBool aLaunchEditorEmbedded = ETrue,
00141 const TDesC& aTitleText = KNullDesC );
00142
00180 IMPORT_C TUid ShowSendQueryL(
00181 const CMessageData* aMessageData = NULL,
00182 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
00183 CArrayFix<TUid>* aServicesToDim = NULL,
00184 const TDesC& aTitleText = KNullDesC );
00185
00201 IMPORT_C void CreateAndSendMessageL(
00202 TUid aServiceUid,
00203 const CMessageData* aMessageData,
00204 TUid aBioTypeUid = KNullUid,
00205 TBool aLaunchEditorEmbedded = ETrue );
00206
00218 IMPORT_C TBool ValidateServiceL(
00219 TUid aServiceUid,
00220 TSendingCapabilities aRequiredCapabilities );
00221
00231 IMPORT_C TInt ServiceCapabilitiesL(
00232 TUid aServiceUid,
00233 TSendingCapabilities& aServiceCapabilities );
00234
00241 IMPORT_C TBool CanSendBioMessage( TUid aBioMessageUid ) const;
00242
00261 IMPORT_C void AvailableServicesL(
00262 RPointerArray<CSendingServiceInfo>& aServiceList,
00263 TUid aServiceProvider = KNullUid);
00264
00265
00266 enum TSendUiMenuType
00267 {
00268 ESendMenu,
00269 EWriteMenu
00270 };
00271
00286 IMPORT_C void AddTypedMenuItemL(
00287 TSendUiMenuType aMenuType,
00288 CEikMenuPane& aMenuPane,
00289 TInt aIndex,
00290 TInt aCommandId,
00291 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices );
00292
00318 IMPORT_C void ShowTypedQueryAndSendL(
00319 TSendUiMenuType aMenuType,
00320 const CMessageData* aMessageData,
00321 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
00322 CArrayFix<TUid>* aServicesToDim = NULL,
00323 TUid aBioTypeUid = KNullUid,
00324 TBool aLaunchEditorEmbedded = ETrue,
00325 const TDesC& aTitleText = KNullDesC );
00326
00349 IMPORT_C TUid ShowTypedQueryL(
00350 TSendUiMenuType aMenuType,
00351 const CMessageData* aMessageData = NULL,
00352 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
00353 CArrayFix<TUid>* aServicesToDim = NULL,
00354 const TDesC& aTitleText = KNullDesC );
00355
00364 IMPORT_C TUid TechnologyType( TUid aServiceUid ) const;
00365
00366 private:
00367
00371 CSendUi();
00372
00376 void ConstructL();
00377
00378 private:
00379
00380 CSendUiImpl* iSendUiImpl;
00381 };
00382
00383
00384 #endif
00385
00386