00001 /* 00002 * ============================================================================ 00003 * Name : SendUi.h 00004 * Part of : SendUI 00005 * Description : Can be used to show "Send" list query and to create and send 00006 * messages via available sending services. Created messages are 00007 * sent directly or message editor is opened for editing, 00008 * depending on the type of the selected service. 00009 * Version : 3.0 00010 * 00011 * Copyright © 2002-2004 Nokia. All rights reserved. 00012 * This material, including documentation and any related 00013 * computer programs, is protected by copyright controlled by 00014 * Nokia. All rights are reserved. Copying, including 00015 * reproducing, storing, adapting or translating, any 00016 * or all of this material requires the prior written consent of 00017 * Nokia. This material also contains confidential 00018 * information which may not be disclosed to others without the 00019 * prior written consent of Nokia. 00020 * ============================================================================== 00021 */ 00022 00023 00024 #ifndef CSENDUI_H 00025 #define CSENDUI_H 00026 00027 #include <TSendingCapabilities.h> 00028 00029 // FORWARD DECLARATIONS 00030 class CEikMenuPane; 00031 class CSendUiImpl; 00032 class CMessageData; 00033 class CSendingServiceInfo; 00034 00035 // CLASS DECLARATION 00036 00037 00050 class CSendUi : public CBase 00051 { 00052 public: // Constructors and destructor 00053 00057 IMPORT_C static CSendUi* NewL(); 00058 00062 IMPORT_C static CSendUi* NewLC(); 00063 00067 IMPORT_C virtual ~CSendUi(); 00068 00069 public: // New functions 00070 00084 IMPORT_C void AddSendMenuItemL( 00085 CEikMenuPane& aMenuPane, 00086 TInt aIndex, 00087 TInt aCommandId, 00088 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices ); 00089 00133 IMPORT_C void ShowQueryAndSendL( 00134 const CMessageData* aMessageData, 00135 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices, 00136 CArrayFix<TUid>* aServicesToDim = NULL, 00137 TUid aBioTypeUid = KNullUid, 00138 TBool aLaunchEditorEmbedded = ETrue, 00139 const TDesC& aTitleText = KNullDesC ); 00140 00178 IMPORT_C TUid ShowSendQueryL( 00179 const CMessageData* aMessageData = NULL, 00180 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices, 00181 CArrayFix<TUid>* aServicesToDim = NULL, 00182 const TDesC& aTitleText = KNullDesC ); 00183 00199 IMPORT_C void CreateAndSendMessageL( 00200 TUid aServiceUid, 00201 const CMessageData* aMessageData, 00202 TUid aBioTypeUid = KNullUid, 00203 TBool aLaunchEditorEmbedded = ETrue ); 00204 00216 IMPORT_C TBool ValidateServiceL( 00217 TUid aServiceUid, 00218 TSendingCapabilities aRequiredCapabilities ); 00219 00229 IMPORT_C TInt ServiceCapabilitiesL( 00230 TUid aServiceUid, 00231 TSendingCapabilities& aServiceCapabilities ); 00232 00239 IMPORT_C TBool CanSendBioMessage( TUid aBioMessageUid ) const; 00240 00259 IMPORT_C void AvailableServicesL( 00260 RPointerArray<CSendingServiceInfo>& aServiceList, 00261 TUid aServiceProvider = KNullUid); 00262 00263 // Menu type enumeration 00264 enum TSendUiMenuType 00265 { 00266 ESendMenu, 00267 EWriteMenu 00268 }; 00269 00284 IMPORT_C void AddTypedMenuItemL( 00285 TSendUiMenuType aMenuType, 00286 CEikMenuPane& aMenuPane, 00287 TInt aIndex, 00288 TInt aCommandId, 00289 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices ); 00290 00316 IMPORT_C void ShowTypedQueryAndSendL( 00317 TSendUiMenuType aMenuType, 00318 const CMessageData* aMessageData, 00319 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices, 00320 CArrayFix<TUid>* aServicesToDim = NULL, 00321 TUid aBioTypeUid = KNullUid, 00322 TBool aLaunchEditorEmbedded = ETrue, 00323 const TDesC& aTitleText = KNullDesC ); 00324 00347 IMPORT_C TUid ShowTypedQueryL( 00348 TSendUiMenuType aMenuType, 00349 const CMessageData* aMessageData = NULL, 00350 TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices, 00351 CArrayFix<TUid>* aServicesToDim = NULL, 00352 const TDesC& aTitleText = KNullDesC ); 00353 00362 IMPORT_C TUid TechnologyType( TUid aServiceUid ) const; 00363 00364 private: 00365 00369 CSendUi(); 00370 00374 void ConstructL(); 00375 00376 private: // Data 00377 // SendUi API implmentation. Owned. 00378 CSendUiImpl* iSendUiImpl; 00379 }; 00380 00381 // CSENDUI_H 00382 #endif 00383 00384 // End of File