sendui.h

Go to the documentation of this file.
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 #define KMaxStringLength 1024;
00036 
00037 // CLASS DECLARATION
00038 
00039 
00052 class CSendUi : public CBase
00053     {
00054     public:  // Constructors and destructor
00055         
00059         IMPORT_C static CSendUi* NewL();
00060 
00064         IMPORT_C static CSendUi* NewLC();
00065 
00069         IMPORT_C virtual ~CSendUi();
00070 
00071     public: // New functions
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         // Menu type enumeration
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:    // Data
00379         // SendUi API implmentation. Owned.
00380         CSendUiImpl*                        iSendUiImpl;
00381     };
00382 
00383 // CSENDUI_H
00384 #endif
00385 
00386 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top