phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEng.h
changeset 0 ff3b6d0fd310
child 19 7d48bed6ce0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEng.h	Tue Feb 02 01:11:09 2010 +0200
@@ -0,0 +1,230 @@
+/*
+* Copyright (c) 2004-2005 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:  API for CallUiEngine usage.
+*
+*/
+
+
+#ifndef CAUIENG_H
+#define CAUIENG_H
+
+
+//  INCLUDES
+#include <e32base.h>
+#include <spdefinitions.h>  //RIdArray
+#include "CaUI.hrh"
+
+
+// FORWARD DECLARATIONS
+class MCaUiReconnectQueryObserver;
+class MDesC16Array;
+class MCaUiDialResultObserver;
+class CPhCntMatcher;
+
+
+// CLASS DECLARATION
+
+/**
+*  The API for CallUIEngine usage.
+*
+*  @lib CaUiEngine.lib
+*  @since 2.6
+*/
+class CCaUiEngApi 
+:   public CBase
+    {
+    public: // Data types
+
+        /**
+        * Enumerate all supported resource types.
+        *
+        * ECaUiResVoice         - Pure voice call resources.
+        * ECaUiResVoiceAndVideo - Voice and video call resources.
+        * ECaUiResVoiceInternetAndVideo - All Internet, voice and video call resources.
+        * ECaUiResOnlyInternet  - Only Internet call resources.
+        */
+        enum TCaUiEngResource 
+            {
+            ECaUiResVoice                   = 0,
+            ECaUiResVoiceAndVideo           = 1,
+            ECaUiResVoiceInternetAndVideo   = 2,
+            ECaUiResOnlyInternet            = 3
+            };
+
+
+        /**
+        * Enumerate all supported localized text.
+        *
+        * ECallMenuItemText      - Menu item text for call.
+        * EVoiceCallMenuItemText - Menu item text for voice call.
+        * EVideoCallMenuItemText - Menu item text for video call.
+        * EInternetCallMenuItemText - Menu item text for internet call.
+        */
+        enum TCaUiEngText 
+            {
+            ECallMenuItemText          = 0,
+            EVoiceCallMenuItemText     = 1,
+            EVideoCallMenuItemText     = 2,
+            EInternetCallMenuItemText  = 3
+            };
+
+    public: // New functions
+
+        /**
+        * Make the dial operation.
+        * 
+        * @param aObserver The observer to handle dial result.
+        * @param aDialData The TCallUIDialDataV1 dial data information in
+        *                  packaged format.
+        * @param aCallType If not equal to ECaUiCallTypeUnknown, then 
+        *                  overwrites the call type in aDialData.
+        */
+        virtual void DialL(
+            MCaUiDialResultObserver& aObserver,
+            const TDesC8& aDialData,
+            const TCaUiCallType aCallType ) = 0;
+
+        /**
+        * Launch the qtn.tel.no.video.network information note.
+        * 
+        */
+        virtual void LaunchNoNetSupNoteL() = 0;
+
+
+        /**
+        * Launch the reconnect confirmation query shown to user.
+        * 
+        * @param aObserver The observer to handle query result.
+        * @param aPhCntMatcher The Phone Contact Matcher. 
+        *        Ownership not transferred. If NULL, then matcher is created 
+        *        inside CaUIEngine.
+        * @param aPhoneNumber Pointer to the number where dial was tried.
+        * @param aIncludeVideoCallOption If set to ETrue, video call option is
+        *        included to query, otherwise it is left out.
+        */
+        virtual void LaunchReconConfQueryL( 
+            MCaUiReconnectQueryObserver& aObserver,
+            CPhCntMatcher* aPhCntMatcher,
+            const TPtrC aPhoneNumber,
+            const TBool aIncludeVideoCallOption ) = 0;
+
+
+        /**
+        * Cancel reconnect query launched with LaunchReconConfQueryL.
+        * 
+        */
+        virtual void CancelReconConfQuery() = 0;
+
+
+        /**
+        * Launch note and reconnect confirmation query in sequence.
+        * 
+        * @param aObserver The observer to handle query result.
+        * @param aPhCntMatcher The Phone Contact Matcher. 
+        *        Ownership not transferred. If NULL, then matcher is created 
+        *        inside CaUIEngine.
+        * @param aPhoneNumber Pointer to the number where dial was tried.
+        * @param aIncludeVideoCallOption If set to ETrue, video call option is
+        *        included to query, otherwise it is left out.
+        * @param aNoteText The text shown in information note. If empty, then 
+        *        qtn.tel.no.video.network text is shown.
+        */
+        virtual void LaunchNoteAndReconConfQueryL( 
+            MCaUiReconnectQueryObserver& aObserver,
+            CPhCntMatcher* aPhCntMatcher,
+            const TPtrC aPhoneNumber,
+            const TBool aIncludeVideoCallOption,
+            const TPtrC aNoteText ) = 0;
+
+        /**
+        * Cancel note and reconnection query launched with 
+        * LaunchNoteAndReconConfQueryL.
+        * 
+        */
+        virtual void CancelNoteAndReconConfQuery() = 0;
+
+        /**
+        * Launch address selection. If contact contains default number or 
+        * only one number, number will be returned directly. 
+        * Otherwise address selection list displayed.
+        * @since 3.0
+        * 
+        * @param aTelNum Contains selected number after execution.
+        * @param aContactId The contact id from PhoneBook.
+        * @param aVoIPAddressSelect If ETrue VoIP address select is used. 
+        * @return TBool, ETrue if number selected, 
+        *     EFalse otherwice (E.g. list canceled).
+        */
+        virtual TBool LaunchAddressSelectL( 
+            TDes& aTelNum, 
+            const TInt aContactId,
+            const TBool aVoIPAddressSelect ) = 0;
+
+        /**
+        * Cancel address selection launched with LaunchAddressSelectL.
+        * 
+        */
+        virtual void CancelAddressSelect() = 0;
+        
+        /**
+        * Get VoIP services
+        * @param aVoipServiceIds On return, contains the list of VoIP services
+        */
+        virtual void GetVoIPServiceIdsL( RIdArray& aVoipServiceIds  ) const = 0;
+        
+        /**
+        * Get the service provider name
+        * @param aServiceId The service, whose name is requested
+        * @param aServiceName On return, contains the service name
+        */
+        virtual void GetVoipServiceNameL( TServiceId aServiceId, TDes& aServiceName ) const = 0;
+    };
+
+
+
+
+/**
+*  Interface for CaUiEngine creation.
+*
+*  @lib 
+*  @since 2.6
+*/
+class CCaUiEngFactory : public CBase
+    {
+    public:
+
+        /**
+        * Creates CallUIEngine.
+        * CCaUiEngFactory instance is deleted even in leave case.
+        * 
+        * @return CCaUiEngApi implementation. NULL if not supported.
+        *         Ownership transferred.
+        */
+        virtual CCaUiEngApi* CCaUiEngApiLD() = 0;
+
+    };
+
+/**
+* Only exported function. This is in index 1 in the lookup table.
+* Call this function to create CCaUiEngFactory instance.
+* 
+* IMPORT_C CCaUiEngFactory* CreateCaUiEngFactoryL();
+*/ 
+
+
+
+
+#endif      // CAUIENG_H 
+
+// End of File