convergedconnectionhandler/cchclientapi/inc/cchuicchhandler.h
changeset 0 a4daefaec16c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/convergedconnectionhandler/cchclientapi/inc/cchuicchhandler.h	Mon Jan 18 20:12:36 2010 +0200
@@ -0,0 +1,198 @@
+/*
+* 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:  
+*
+*/
+
+
+#ifndef C_CCCHUICCHHANDLER_H
+#define C_CCCHUICCHHANDLER_H
+
+#include <cch.h>
+#include "cchuicommon.hrh"
+
+/**
+ * CCH Handler.
+ * This class implements CCH handling.
+ *
+ * @code
+ *  // Create intance and get snap used by service.
+ *  iCCHHandler = CCchUiCchHandler::NewL();
+ *  TInt serviceId( KServiceId );
+ *  TInt snapId( KErrNone );
+ *  iCCHHandler->GetConnectionSnapId( serviceId, snapId );
+ * @endcode
+ *
+ * @lib cchui.lib
+ * @since S60 5.0
+ */
+NONSHARABLE_CLASS( CCchUiCchHandler ) : public CBase
+    {    
+public:
+            
+    /**
+     * Two-phased constructor.
+     */
+    static CCchUiCchHandler* NewL( CCch& aCch  );
+    
+    /**
+     * Destructor.
+     */
+    virtual ~CCchUiCchHandler();
+
+    
+    /**
+     * Get snap id.
+     *
+     * @since S60 5.0
+     * @param aServiceId Service id.
+     * @param aSnapId Snap id will be stored here.
+     * @param aErr error code
+     */
+    void GetConnectionSnapIdL( TInt aServiceId, TInt& aSnapId, TInt& aErr );
+    
+    /**
+     * Set snap id.
+     *
+     * @since S60 5.0
+     * @param aServiceId Service id.
+     * @param aSnapId Snap id to be set.
+     * @param aErr error code.
+     */
+    void SetConnectionSnapIdL( TInt aServiceId, TInt aSnapId, TInt& aErr );
+           
+    /**
+     * Get service username.
+     *
+     * @since S60 5.0
+     * @param aServiceId Service id.
+     * @param aUserName service username.
+     * @param aErr error code.
+     */
+    void GetUsernameL( TInt aServiceId, RBuf& aUserName, TInt& aErr );
+    
+    /**
+     * Set username for service.
+     *
+     * @since S60 5.0
+     * @param aResultParams Contains needed info to set username.
+     * @param aErr
+     */
+    void SetUsernameL( TCCHUiNotifierParams aResultParams, TInt& aErr );
+    
+    /**
+     * Set password for service.
+     *
+     * @since S60 5.0
+     * @param aResultParams Contains needed info to set password.
+     * @param aErr error code.
+     */
+    void SetPasswordL( TCCHUiNotifierParams aResultParams, TInt& aErr );
+    
+    /**
+     * Starts observing for service events for service specified
+     * by aServiceId.
+     *
+     * @since S60 5.0
+     * @param aServiceId service identifier
+     * @param aObserver observer for service events
+     */    
+    void StartObservingL( 
+            TUint aServiceId, 
+            MCchServiceStatusObserver& aObserver );
+        
+    /**
+     * Stops observing for specific service defined by aServiceId
+     *
+     * @since S60 5.0
+     * @param aServiceId service identifier
+     * @param aObserver observer for service events
+     */            
+    void StopObservingL( 
+            TUint aServiceId, 
+            MCchServiceStatusObserver& aObserver );
+    
+    /**
+     * For checking service state.
+     *
+     * @since S60 5.0
+     * @param aServiceId service identifier
+     * @param aSubServiceType subservice type
+     * @param aErr Symbian error code
+     * @return subservice state
+     */            
+    TCCHSubserviceState GetServiceStateL( 
+            TUint aServiceId, 
+            TCCHSubserviceType aSubServiceType,
+            TInt& aErr );
+    
+    /**
+     * For getting current connections iap id.
+     * Is left as zero if no current connection exists.
+     *
+     * @since S60 5.0
+     * @param aServiceId service identifier
+     * @param aSubServiceType subservice type
+     * @param aIapId current connection iap id to be stored here
+     * @param aErr error code to be stored here
+     */            
+    void GetCurrentConnectionIapIdL( 
+            TUint aServiceId, 
+            TCCHSubserviceType aSubServiceType,
+            TInt& aIapId,
+            TInt& aErr );
+    
+    /**
+     * Enables service
+     *
+     * @since S60 5.0
+     * @param aServiceId service identifier
+     */                
+    void EnableL( TUint aServiceId );
+
+    /**
+     * Disables service
+     *
+     * @since S60 5.0
+     * @param aServiceId service identifier
+     */                
+    void DisableL( TUint aServiceId );    
+    
+    /**
+     * For checking if all subservices are disabled
+     *
+     * @since S60 5.0
+     * @param aServiceId service identifier
+     * @param aState checked state
+     * @return ETrue if all subservices are in checked state
+     */                
+    TBool AllSubservicesInStateL( TUint aServiceId, 
+        TCCHSubserviceState aState );  
+        
+private:
+
+    CCchUiCchHandler( CCch& aCch );    
+ 
+private: // data
+    
+    /**
+     * Handle to CCH Client API.
+     * Not own.
+     */
+    CCch& iCchClientApi;
+    
+    CCHUI_UNIT_TEST( UT_CchUi )
+    };
+
+#endif // C_CCCHUICCHHANDLER_H