--- a/messagingfw/deprecate/send_ui_api/inc/SendUi.h Tue Aug 31 15:41:11 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-/*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Can be used to show "Send" list query and to create and send
-* messages via available sending services. Created messages are
-* sent directly or message editor is opened for editing,
-* depending on the type of the selected service.
-*
-*/
-
-
-
-
-#ifndef CSENDUI_H
-#define CSENDUI_H
-
-#include <TSendingCapabilities.h>
-
-// FORWARD DECLARATIONS
-class CEikMenuPane;
-class CSendUiImpl;
-class CMessageData;
-class CSendingServiceInfo;
-
-#define KMaxStringLength 1024;
-
-// CLASS DECLARATION
-
-
-/**
-* 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.
-*
-* @lib SendUi.lib
-* @since Series 60 3.0
-*/
-class CSendUi : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- IMPORT_C static CSendUi* NewL();
-
- /**
- * Two-phased constructor.
- */
- IMPORT_C static CSendUi* NewLC();
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CSendUi();
-
- public: // New functions
-
- /**
- * Adds "Send" menu item to menupane.
- *
- * @since Series 60 3.0
- * @param aMenuPane Menupane where the "Send" menu item should be added.
- * @param aIndex The place of the "Send" menu item in menupane.
- * @param aCommandId Command id for the "Send" menu item.
- * @param aRequiredCapabilities 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.
- * @return None.
- */
- IMPORT_C void AddSendMenuItemL(
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices );
-
- /**
- * 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
- * @param aMessageData Data for the message.
- * @param aRequiredCapabilities 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.
- * @param aServicesToDim 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 .
- * @param aBioTypeUid BIO message type uid. Deprecated.
- * @param aLaunchEditorEmbedded 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.
- * @param aTitleText Title of the "Send" pop-up list query. If no title
- * is defined, then the localised default title "Send:" is used.
- * @return None.
- */
- IMPORT_C void ShowQueryAndSendL(
- const CMessageData* aMessageData,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
- CArrayFix<TUid>* aServicesToDim = NULL,
- TUid aBioTypeUid = KNullUid,
- TBool aLaunchEditorEmbedded = ETrue,
- 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
- * @param aMessageData Data for the message. Attachments are used for
- * content based filtering.
- * @param aRequiredCapabilities 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.
- * @param aServicesToDim 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 .
- * @param aTitleText Title of the "Send" pop-up list query. If no title
- * is defined, then the localised default title "Send:" is used.
- * @return Uid of the selected service (MTM or ECom).
- * KNullId is returned if user selects cancel.
- */
- IMPORT_C TUid ShowSendQueryL(
- const CMessageData* aMessageData = NULL,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
- CArrayFix<TUid>* aServicesToDim = NULL,
- const TDesC& aTitleText = KNullDesC );
-
- /**
- * 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
- * @param aServiceUid Uid of the sending service (MTM or ECom).
- * @param aMessageData Data for the message.
- * @param aBioTypeUid BIO message type uid. Deprecated.
- * @param aLaunchEditorEmbedded 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.
- * @return None.
- */
- IMPORT_C void CreateAndSendMessageL(
- TUid aServiceUid,
- const CMessageData* aMessageData,
- TUid aBioTypeUid = KNullUid,
- TBool aLaunchEditorEmbedded = ETrue );
-
- /**
- * 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
- * @param aServiceUid Uid of the sending service (MTM or ECom).
- * @param aRequiredCapabilities Capabilities required for the sending
- * service.
- * @return ETrue if service is available and it has required
- * capabilities,otherwise EFalse.
- */
- IMPORT_C TBool ValidateServiceL(
- TUid aServiceUid,
- TSendingCapabilities aRequiredCapabilities );
-
- /**
- * Returns sending capabilities of the sending service.
- * @since Series 60 3.0
- * @param aServiceUid Uid of the sending service (MTM or ECom).
- * @param aServiceCapabilities TSendingCapabilities of the sending
- * service as a return value.
- * @return Return KErrNone if successful, or one of the system wide
- * errors if unsuccessful.
- */
- IMPORT_C TInt ServiceCapabilitiesL(
- TUid aServiceUid,
- TSendingCapabilities& aServiceCapabilities );
-
- /**
- * Can be used to check if sending of bio message is supported. Deprecated.
- * @since Series 60 3.0
- * @param aBioMessageUid Uid of the bio message.
- * @return: Returns always EFalse
- */
- IMPORT_C TBool CanSendBioMessage( TUid aBioMessageUid ) const;
-
- /**
- * 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
- * @param aServiceList Service list to be populated.
- * @param aServiceProvider Id of the specified service provider.
- * KNullId means all service providers.
- * Service providers are defined in SendUiConsts.h
- * @return none
- */
- IMPORT_C void AvailableServicesL(
- RPointerArray<CSendingServiceInfo>& aServiceList,
- TUid aServiceProvider = KNullUid);
-
- // Menu type enumeration
- enum TSendUiMenuType
- {
- ESendMenu,
- EWriteMenu
- };
-
- /**
- * Adds menu item of given type to menupane.
- *
- * @since Series 60 3.0
- * @param aMenuType Type of the menu, "ESendMenu" or "EWriteMenu"
- * @param aMenuPane Menupane where the menu item should be added.
- * @param aIndex The place of the menu item in menupane.
- * @param aCommandId Command id for the menu item.
- * @param aRequiredCapabilities Capabilities required from services to be
- * shown in list query. If no capabilities are required
- * (KCapabilitiesForAllServices), all available services are
- * shown in list query.
- * @return None.
- */
- IMPORT_C void AddTypedMenuItemL(
- TSendUiMenuType aMenuType,
- CEikMenuPane& aMenuPane,
- TInt aIndex,
- TInt aCommandId,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices );
-
- /**
- * Displays list query and creates message.
- * See ShowQueryAndSendL.
- *
- * @since Series 60 3.0
- * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
- * @param aMessageData Data for the message.
- * @param aRequiredCapabilities 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.
- * @param aServicesToDim 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 .
- * @param aBioTypeUid BIO message type uid. Deprecated.
- * @param aLaunchEditorEmbedded 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.
- * @param aTitleText Title of the list query. If no title is defined,
- * then the localised default title is used, e.g. "Send" or
- * "Write".
- * @return None.
- */
- 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 returns the user selection.
- * See ShowSendQueryL.
- *
- * @since Series 60 3.0
- * @param aMenuType Type of the menu, e.g. "ESendMenu" or "EWriteMenu"
- * @param aMessageData Data for the message. Attachments are used for
- * content based filtering.
- * @param aRequiredCapabilities 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.
- * @param aServicesToDim 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 .
- * @param aTitleText Title of the list query. If no title is defined,
- * then the localised default title is used, e.g. "Send" or
- * "Write"
- * @return Uid of the selected service (MTM or ECom).
- * KNullId is returned if user selects cancel.
- */
- IMPORT_C TUid ShowTypedQueryL(
- TSendUiMenuType aMenuType,
- const CMessageData* aMessageData = NULL,
- TSendingCapabilities aRequiredCapabilities = KCapabilitiesForAllServices,
- CArrayFix<TUid>* aServicesToDim = NULL,
- const TDesC& aTitleText = KNullDesC );
-
- /**
- * Returns the technology type of a service
- *
- * @since Series 60 3.0
- * @param aServiceId Service of interest
- * @return Technology type of the provided service. NULL if Mtm
- * service doesn't exist or service is ECOM based.
- */
- IMPORT_C TUid TechnologyType( TUid aServiceUid ) const;
-
- private:
-
- /**
- * C++ default constructor.
- */
- CSendUi();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // Data
- // SendUi API implmentation. Owned.
- CSendUiImpl* iSendUiImpl;
- };
-
-#endif // CSENDUI_H
-
-// End of File