ipcm_pub/connection_settings_api/inc/cmmanager.h
changeset 20 9c97ad6591ae
parent 0 5a93021fdf25
child 58 83ca720e2b9a
child 72 0c32cf868819
--- a/ipcm_pub/connection_settings_api/inc/cmmanager.h	Fri Apr 16 15:21:37 2010 +0300
+++ b/ipcm_pub/connection_settings_api/inc/cmmanager.h	Mon May 03 12:53:07 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2006-2010 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"
@@ -11,26 +11,25 @@
 *
 * Contributors:
 *
-* Description:  Connection manager IF class.
+* Description:
+* Connection method manager IF class.
 *
 */
 
+
 #ifndef CMMANAGER_H
 #define CMMANAGER_H
 
-// System Includes
-#include <e32std.h>
 #include <e32base.h>
-#include <e32cmn.h>
 #include <cmdefconnvalues.h>
 #include <cmgenconnsettings.h>
 
-// Forward Declarations
+// Forward declarations
 class RCmConnectionMethod;
 class RCmDestination;
-class CCmManagerImpl;
 class TBearerPriority;
-class CGulIcon;
+class RCmManagerApi;
+
 
 /**
  *  RCmManager gives access to network destinations and connection methods.
@@ -38,51 +37,40 @@
  *  @lib cmmanager.lib
  *  @since S60 v3.2
  */
-NONSHARABLE_CLASS(RCmManager)
-      {          
-    //=====================================================================
-    // Constructors/Destructors
-    // 
+NONSHARABLE_CLASS( RCmManager )
+    {
     public:
-    
         /**
-        * Default constructor. 
+        * Default constructor.
         */
         inline RCmManager();
 
-    //=====================================================================
-    // API functions
-    public:
-        
         /**
         * Symbian constructor
         *
         * @since S60 3.2
         */
-        IMPORT_C void OpenL();    
-        
+        IMPORT_C void OpenL();
+
         /**
         * Symbian constructor
         * Pushes the object on the cleanup stack
         *
         * @since S60 3.2
         */
-        IMPORT_C void OpenLC();    
-        
+        IMPORT_C void OpenLC();
+
         /**
         * Secondary destructor
         *
         * @since S60 3.2
         */
         IMPORT_C void Close();
-        
-    //=======================================================================
-    // Getter API
-    public:    
-      
+
+    public:
         /**
         * Used to query bearer information that doesn't belong
-        * to a specific connection method, such as 
+        * to a specific connection method, such as
         * ECmCoverage or ECmDefaultPriority etc.
         *
         * @since S60 3.2
@@ -90,13 +78,13 @@
         * @param aAttribute the setting value
         * @return the setting value
         */
-        IMPORT_C TUint32 GetBearerInfoIntL( TUint32 aBearerType,
-                                  TUint32 aAttribute ) const;
-                                  
-        
+        IMPORT_C TUint32 GetBearerInfoIntL(
+                TUint32 aBearerType,
+                TUint32 aAttribute ) const;
+
         /**
         * Used to query bearer information that doesn't belong
-        * to a specific connection method, such as 
+        * to a specific connection method, such as
         * ECmCoverage or ECmDefaultPriority etc.
         *
         * @since S60 3.2
@@ -104,11 +92,13 @@
         * @param aAttribute the setting value
         * @return the setting value
         */
-        IMPORT_C TBool GetBearerInfoBoolL( TUint32 aBearerType,
-                                 TUint32 aAttribute ) const;
+        IMPORT_C TBool GetBearerInfoBoolL(
+                TUint32 aBearerType,
+                TUint32 aAttribute ) const;
+
         /**
         * Used to query bearer information that doesn't belong
-        * to a specific connection method, such as 
+        * to a specific connection method, such as
         * ECmCoverage or ECmDefaultPriority etc.
         * HBuf ownership is passed to the caller
         *
@@ -116,12 +106,14 @@
         * @param aBearerType the bearer
         * @param aAttribute the setting value
         * @return the setting value
-        */        
-        IMPORT_C HBufC* GetBearerInfoStringL( TUint32 aBearerType,
-                                    TUint32 aAttribute ) const;
+        */
+        IMPORT_C HBufC* GetBearerInfoStringL(
+                TUint32 aBearerType,
+                TUint32 aAttribute ) const;
+
         /**
         * Used to query bearer information that does not belong
-        * to a specific connection method, such as 
+        * to a specific connection method, such as
         * ECmCoverage or ECmDefaultPriority, etc.
         * HBuf ownership is passed to the caller
         *
@@ -130,9 +122,10 @@
         * @param aAttribute the setting value
         * @return the setting value
         */
-        IMPORT_C HBufC8* GetBearerInfoString8L( TUint32 aBearerType,
-                                    TUint32 aAttribute ) const;
-                    
+        IMPORT_C HBufC8* GetBearerInfoString8L(
+                TUint32 aBearerType,
+                TUint32 aAttribute ) const;
+
         /**
         * Used to query any non-bearer specific information about
         * a given connection method. This can be e.g. ECmBearerType,
@@ -143,9 +136,10 @@
         * @param aAttribute the setting value
         * @return the setting value
         */
-        IMPORT_C TUint32 GetConnectionMethodInfoIntL( TUint32 aIapId,
-                                             TUint32 aAttribute ) const;
-        
+        IMPORT_C TUint32 GetConnectionMethodInfoIntL(
+                TUint32 aIapId,
+                TUint32 aAttribute ) const;
+
         /**
         * Used to query any, non-bearer specific information about
         * a given connection method. This can be e.g. ECmBearerType,
@@ -156,8 +150,9 @@
         * @param aAttribute the setting value
         * @return the setting value
         */
-        IMPORT_C TBool GetConnectionMethodInfoBoolL( TUint32 aIapId,
-                                            TUint32 aAttribute ) const;
+        IMPORT_C TBool GetConnectionMethodInfoBoolL(
+                TUint32 aIapId,
+                TUint32 aAttribute ) const;
 
         /**
         * Used to query any non-bearer specific information about
@@ -170,8 +165,9 @@
         * @param aAttribute the setting value
         * @return the setting value
         */
-        IMPORT_C HBufC* GetConnectionMethodInfoStringL( TUint32 aIapId,
-                                               TUint32 aAttribute ) const;
+        IMPORT_C HBufC* GetConnectionMethodInfoStringL(
+                TUint32 aIapId,
+                TUint32 aAttribute ) const;
 
         /**
         * Used to query any non-bearer specific information about
@@ -184,9 +180,10 @@
         * @param aAttribute the setting value
         * @return the setting value
         */
-        IMPORT_C HBufC8* GetConnectionMethodInfoString8L( TUint32 aIapId,
-                                               TUint32 aAttribute ) const;
-                
+        IMPORT_C HBufC8* GetConnectionMethodInfoString8L(
+                TUint32 aIapId,
+                TUint32 aAttribute ) const;
+
         /**
         * Returns the connection method queried by its ID
         *
@@ -194,53 +191,54 @@
         * @param aConnectionMethodId id of the connection method
         * @return RCmConnectionMethod connection method
         */
-        IMPORT_C RCmConnectionMethod ConnectionMethodL( 
-                                     TUint32 aConnectionMethodId ) const;
-                        
+        IMPORT_C RCmConnectionMethod ConnectionMethodL(
+                TUint32 aConnectionMethodId ) const;
+
         /**
-        * Returns the list of connection methods. Connection Methods are 
+        * Returns the list of connection methods. Connection Methods are
         * filtered by the switch parameters e.g. aLegacyOnly.
         *
         * @since S60 3.2
         * @param aCMArray on return it is the array of IAP ids.
-        * @param aCheckBearerType If ETrue only connection methods with 
+        * @param aCheckBearerType If ETrue only connection methods with
         *                         supported bearer type are returned
         * @param aLegacyOnly when set to ETrue only Legacy IAP ids will
         *                         be returned
         * @param aEasyWlan when set to ETrue EasyWlan id is returned, too
         */
-        IMPORT_C void ConnectionMethodL( RArray<TUint32>& aCMArray, 
-                                         TBool aCheckBearerType = ETrue,
-                                         TBool aLegacyOnly = ETrue,
-                                         TBool aEasyWlan = EFalse ) const;
-        
+        IMPORT_C void ConnectionMethodL(
+                RArray<TUint32>& aCmArray,
+                TBool aCheckBearerType = ETrue,
+                TBool aLegacyOnly = ETrue,
+                TBool aEasyWlan = EFalse ) const;
+
         /**
         * Returns an array of all destination id's
         *
         * @since S60 3.2
         * @param aDestArray list all available destinations' id
-        */ 
+        */
         IMPORT_C void AllDestinationsL( RArray<TUint32>& aDestArray ) const;
 
         /**
-        * Returns the destination to which a specified 
+        * Returns the destination to which a specified
         * connection method belongs, search is by destination ID
         *
         * @since S60 3.2
         * @param aDestinationId id of destination
-        * @return RCmDestination network destination 
+        * @return RCmDestination network destination
         */
         IMPORT_C RCmDestination DestinationL( TUint32 aDestinationId ) const;
-       
+
         /**
         * Returns the copy of the bearer priority array. Ownership is passed.
         *
         * @since S60 3.2
         * @param aArray bearer priority array
-        */          
-        IMPORT_C void BearerPriorityArrayL( 
-                                   RArray<TBearerPriority>& aArray ) const;
-       
+        */
+        IMPORT_C void BearerPriorityArrayL(
+                RArray<TBearerPriority>& aArray ) const;
+
         /**
         * Clean up passed global bearer priority array. Delete
         * the elements and calls Reset and Close on the array.
@@ -248,9 +246,9 @@
         * @since S60 3.2
         * @param aArray array to be cleaned up
         */
-        IMPORT_C void CleanupGlobalPriorityArray( 
-                                   RArray<TBearerPriority>& aArray ) const;
-        
+        IMPORT_C void CleanupGlobalPriorityArray(
+                RArray<TBearerPriority>& aArray ) const;
+
         /**
         * Returns the id of the EasyWlan connection method.
         *
@@ -258,20 +256,20 @@
         * @return id of the EasyWLan connection method. 0 if not found.
         */
         IMPORT_C TUint32 EasyWlanIdL() const;
-        
+
         /**
         * Returns the default connection method/SNAP.
         *
         * @since S60 3.2
         */
-        IMPORT_C void ReadDefConnL( TCmDefConnValue& aDCSetting );
+        IMPORT_C void ReadDefConnL( TCmDefConnValue& aDefConnSetting );
 
         /**
         * Stores the default connection method/SNAP.
         *
         * @since S60 3.2
         */
-        IMPORT_C void WriteDefConnL( const TCmDefConnValue& aDCSetting );  
+        IMPORT_C void WriteDefConnL( const TCmDefConnValue& aDefConnSetting );
 
 
         /**
@@ -287,15 +285,15 @@
         * @since S60 9.2
         */
         IMPORT_C void WriteGenConnSettingsL( const TCmGenConnSettings& aGenConnSettings );
-        
-        
+
+
         /** Open session and create tables if they don't exist*/
-        IMPORT_C void CreateTablesAndOpenL();    
+        IMPORT_C void CreateTablesAndOpenL();
 
         /**
-        * Creates a Destination with the passed name. 
+        * Creates a Destination with the passed name.
         * @param aName the name of the new destination.
-        * @return RCmDestination new destination. ownership is passed to the 
+        * @return RCmDestination new destination. ownership is passed to the
         * caller
         */
         IMPORT_C RCmDestination CreateDestinationL( const TDesC& aName );
@@ -305,62 +303,69 @@
         * @param aImplementationUid - bearer type of the new connection method
         * @return RCmConnectionMethod newly created connection method.
         */
-        IMPORT_C RCmConnectionMethod CreateConnectionMethodL( TUint32 aBearerType );        
+        IMPORT_C RCmConnectionMethod CreateConnectionMethodL(
+                TUint32 aBearerType );
 
         /**
-        * Copies a connection method belonging to one destination to 
+        * Copies a connection method belonging to one destination to
         * another. The connection method becomes shared.
         * Calls UpdateL on the destination
         * @param aTargetDestination
         * @param aConnectionMethodId
         * @return TInt - index in the Connection Method list
         */
-        IMPORT_C TInt CopyConnectionMethodL( RCmDestination& aTargetDestination,
-                                             RCmConnectionMethod& aConnectionMethod );
+        IMPORT_C TInt CopyConnectionMethodL(
+                RCmDestination& aTargetDestination,
+                RCmConnectionMethod& aConnectionMethod );
 
         /**
-        * Moves a connection method belonging to one destination to 
+        * Moves a connection method belonging to one destination to
         * another. The connection method is removed from the source destination
         * @param aSourceDestination
         * @param aTargetDestination
         * @param aConnectionMethod
         * @return TInt - index in the Connection Method list
         */
-        IMPORT_C TInt MoveConnectionMethodL( RCmDestination& aSourceDestination,
-                                             RCmDestination& aTargetDestination,
-                                             RCmConnectionMethod& aConnectionMethod );
+        IMPORT_C TInt MoveConnectionMethodL(
+                RCmDestination& aSourceDestination,
+                RCmDestination& aTargetDestination,
+                RCmConnectionMethod& aConnectionMethod );
 
         /**
         * Remove connection method from the destination
         * @param aDestination destination the connection method is attached to
         * @param aConnectionMethod connection method to be removed
         */
-        IMPORT_C void RemoveConnectionMethodL( RCmDestination& aDestination,
-                                               RCmConnectionMethod& aConnectionMethod );
+        IMPORT_C void RemoveConnectionMethodL(
+                RCmDestination& aDestination,
+                RCmConnectionMethod& aConnectionMethod );
 
         /**
-        * Removes connection method from every destination and make it 
+        * Removes connection method from every destination and make it
         * uncategorized.
         * @param aConnectionMethod connection method to be removed
         */
-        IMPORT_C void RemoveAllReferencesL( RCmConnectionMethod& aConnectionMethod );
+        IMPORT_C void RemoveAllReferencesL(
+                RCmConnectionMethod& aConnectionMethod );
 
         /**
         * Update bearer priority array
         * @param aArray array with new global bearer priority
-        */          
-        IMPORT_C void UpdateBearerPriorityArrayL( const RArray<TBearerPriority>& aArray );
+        */
+        IMPORT_C void UpdateBearerPriorityArrayL(
+                const RArray<TBearerPriority>& aArray );
 
         /**
-        * Creates a Destination with the passed name and id. 
+        * Creates a Destination with the passed name and id.
         * @param aName the name of the new destination.
         * @param aDestId Predefined id of the destination.
         * @return RCmDestination newly created destination or leaves with
         * KErrAlreadyExists if there exists CM with the same Id.
         * Ownership is passed to the caller.
         */
-        IMPORT_C RCmDestination CreateDestinationL( const TDesC& aName,
-                                                       TUint32      aDestId );
+        IMPORT_C RCmDestination CreateDestinationL(
+                const TDesC& aName,
+                TUint32 aDestId );
 
         /**
         * Creates a connection method does not belong to any destination
@@ -371,47 +376,50 @@
         * method or leaves with KErrAlreadyExists if there exists CM
         * with the same Id.
         */
-        IMPORT_C RCmConnectionMethod CreateConnectionMethodL( TUint32 aImplementationUid,
-                                                              TUint32 aConnMethodId );
+        IMPORT_C RCmConnectionMethod CreateConnectionMethodL(
+                TUint32 aBearerType,
+                TUint32 aConnMethodId );
 
         /**
         * Query all of the supported bearer types.
         * @param aArray list of all supported bearer types.
-        */          
+        */
         IMPORT_C void SupportedBearersL( RArray<TUint32>& aArray ) const;
 
         /**
-        * Returns "Uncategorized" icon.
-        * This fucton leaves if the client does not have a valid UI context
-        * @return CGulIcon* Icon of uncategorized connection methods. Ownership 
-        * is passed.
-        */          
-        IMPORT_C CGulIcon* UncategorizedIconL() const;
-        
+         * Gets the "Uncategorized" icon identifier(name). It can
+         * contain path information. HBufC* ownership is passed to the caller.
+         * @return Returns pointer to a buffer which identifies the requested
+         * icon.
+         */
+        IMPORT_C HBufC* GetUncategorizedIconL() const;
+
+
     private:
         /**
         * This is a private copy constructor without implementation.
-        * The sole purpose of this declaration is to forbid the copying of 
+        * The sole purpose of this declaration is to forbid the copying of
         * the objects of this class.
-        */          
-        RCmManager(RCmManager&  );
+        */
+        RCmManager( RCmManager& );
+
         /**
         * This is a private copy constructor without implementation.
-        * The sole purpose of this declaration is to forbid the copying of 
+        * The sole purpose of this declaration is to forbid the copying of
         * the objects of this class.
-        */          
+        */
         RCmManager& operator=( RCmManager& );
-    //=========================================================================
-    // Member data
-    
+
     private:
-    
-        /**
-         * the implementation class
-         */
-        CCmManagerImpl* iImplementation;
+        RCmManagerApi* iCmManagerApi;
     };
 
-#include "cmmanager.inl"
-    
+
+inline RCmManager::RCmManager() : iCmManagerApi( NULL )
+    {
+    }
+
+
 #endif // CMMANAGER_H
+
+// End of file