convergedconnectionhandler/cchclientapi/inc/cchuiprivateapi.h
branchRCL_3
changeset 22 d38647835c2e
parent 0 a4daefaec16c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/convergedconnectionhandler/cchclientapi/inc/cchuiprivateapi.h	Wed Sep 01 12:29:57 2010 +0100
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2008-2009 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:  Declares private API for the CCH UI component.
+*
+*/
+
+
+#ifndef C_CCHUIPRIVATEAPI_H
+#define C_CCHUIPRIVATEAPI_H
+
+#include <e32base.h>
+#include <cchui.h>
+
+#include "cchuicommon.hrh"
+
+class CCchUiApiImpl;
+class CCch;
+
+/**
+ *  CCH UI Private API - provides means to control CCH UI.
+ *  
+ *  This API hides the actual implementation from clients. 
+ *  In essence this API provides internal access to connectivity UI logic. 
+ *
+ *  @code
+ *  @endcode
+ *
+ *  @lib cchui.lib
+ *  @since S60 5.0
+ */
+NONSHARABLE_CLASS( CCchUiPrivateApi ) : public CBase, public MCchUi
+    {
+    public:
+        
+        /**
+         * Two-phased constructor.
+         * @param aObserver reference to observer insterested in CCH UI events
+         * Ownership is not taken.
+         */
+        static CCchUiPrivateApi* NewL( CCch& aCch );
+
+        /**
+         * Destructor.
+         */
+        ~CCchUiPrivateApi();
+
+
+        /**
+         * Tells CCH UI that manual enable has proceeded and visualization should
+         * be handled according to events and provided result code.
+         *
+         * @since S60 5.0
+         * @param aServiceId service id of the service that the dialog is 
+         *        shown for. Service id is used to fetch service specific data.
+         * @param aEnableResult result of the enable operation. If enable specific
+                  error, error is handled here instead of event listening
+         */
+        void ManualEnableResultL( TUint32 aServiceId,
+            TInt aEnableResult );
+        
+        
+        // from base class MCchUi
+        
+        /**
+         * From MCchUi. 
+         * Adds observer for listening cchui events.
+         *
+         * @since S60 5.0
+         * @param aObserver Event observing class
+         */
+        void AddObserverL( MCchUiObserver& aObserver );
+        
+        /**
+         * From MCchUi.
+         * Removes the observer of cchui events.
+         * 
+         * @since S60 5.0
+         * @param aObserver Event observing class
+         */
+        void RemoveObserver( MCchUiObserver& aObserver );
+        
+        /**
+         * From MCchUi.
+         * Shows global note/dialog. See observer definition for available notes. 
+         *
+         * @since S60 5.0
+         * @param aServiceId service id of the service that the dialog is 
+         *        shown for. Service id is used to fetch service specific data.
+         * @param aDialog defines which dialog is shown.
+         * @leave KErrAlreadyExists Failed to show dialog because another 
+         * note already shown.
+         */
+        void ShowDialogL( 
+            TUint32 aServiceId, 
+            MCchUiObserver::TCchUiDialogType aDialog );
+        
+        /**
+         * From MCchUi.
+         * Allows client to configure visualization of connectivity events. This
+         * only effects the automatically shown connectivity notes. Client can
+         * still use separate methods in this API to show specific notes by
+         * itself. 
+         * 
+         * By default all notes are allowed.
+         *
+         * @since S60 5.0
+         * @param aAllowedNotes array of allowed notes
+         * @param aAllowedSubServices array of allowed subservices
+         */
+        void ConfigureVisualizationL( 
+            RArray<MCchUiObserver::TCchUiDialogType>& aAllowedNotes,
+            RArray<TCCHSubserviceType>& aAllowedSubServices );    
+        
+        /**
+         * From MCchUi.
+         * Cancels all notes shown by CCH UI. 
+         * If there is nothing to dismiss, call to this method does nothing.
+         *
+         * @since S60 5.0
+         */
+        void CancelNotes();   
+        
+        /**
+         * Reserved for future use.
+         *
+         * @since S60 5.0
+         */  
+        void Reserved1();  
+        
+        /**
+         * Reserved for future use.
+         *
+         * @since S60 5.0
+         */  
+        void Reserved2();  
+        
+    private: // Constructors
+    
+    	    /**
+    	    * C++ default constructor.
+    	    */
+    	    CCchUiPrivateApi();
+
+    	    /**
+    	    * By default Symbian 2nd phase constructor is private.
+    	    */
+    	    void ConstructL( CCch& aCch );
+        
+
+    private: // data
+
+        /**
+         * CCHUI API implementation.
+         * Own.
+         */
+        CCchUiApiImpl* iImpl;
+        
+    CCHUI_UNIT_TEST( UT_CchUi )
+    };
+
+#endif
+