epoc32/include/mw/cmconnectionmethod.h
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
--- a/epoc32/include/mw/cmconnectionmethod.h	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/mw/cmconnectionmethod.h	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,217 @@
-cmconnectionmethod.h
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Connection Method interface class.
+*
+*/
+
+#ifndef CMCONNECTIONMETHOD_H
+#define CMCONNECTIONMETHOD_H
+
+// INCLUDES
+#include <e32base.h>
+#include <cmconnectionmethoddef.h>
+
+// CLASS DECLARATION
+class CCmPluginBaseEng;
+class RCmDestination;
+
+/**
+ *  RCmConnectionMethod is for getting/setting values of a connection method.
+ *  @lib cmmanager.lib
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS( RCmConnectionMethod )
+    {
+    //=====================================================================
+    // Constructors/Destructors
+    // 
+    public:
+    
+        /**
+        * Default constructor. 
+        */
+        IMPORT_C RCmConnectionMethod();
+
+
+        /**
+        * Copy constructor. 
+        */
+        IMPORT_C RCmConnectionMethod(const RCmConnectionMethod& aItem);
+
+
+        /**
+        * Destructor. 
+        */
+        IMPORT_C ~RCmConnectionMethod();
+
+    //=====================================================================
+    // API functions
+    public:
+    
+        /**
+        * Close the session
+        *
+        * @since S60 3.2
+        */
+        IMPORT_C void Close();
+        
+        /**
+        * Gets the value for a TInt attribute.
+        *
+        * @since S60 3.2
+        * @param aAttribute Identifies the attribute to be retrieved.
+        * @return contains the requested TInt attribute.
+        */
+        IMPORT_C TUint32 GetIntAttributeL( TUint32 aAttribute ) const;
+
+        /**
+        * Gets the value for a TBool attribute.
+        *
+        * @since S60 3.2
+        * @param aAttribute Identifies the attribute to be retrieved.
+        * @return contains the requested TBool attribute.
+        */
+        IMPORT_C TBool GetBoolAttributeL( TUint32 aAttribute ) const;
+
+        /**
+        * Gets the value for a String16 attribute.
+        * HBuf ownership is passed to the caller
+        *
+        * @since S60 3.2
+        * @param aAttribute Identifies the attribute to be retrieved.
+        * @return copy of the requested attribute. Ownership is passed.
+        */
+        IMPORT_C HBufC* GetStringAttributeL( TUint32 aAttribute ) const;
+        
+        /**
+        * Gets the value for a String8 attribute.
+        * HBuf ownership is passed to the caller
+        *
+        * @since S60 3.2
+        * @param aAttribute Identifies the attribute to be retrieved.
+        * @return copy of the requested attribute. Ownership is passed.
+        */
+        IMPORT_C HBufC8* GetString8AttributeL( 
+                                        const TUint32 aAttribute ) const;
+
+        /**
+        * Call this function only if this CM is an embedded destination!
+        *
+        * @since S60 3.2
+        * @return embedded destination
+        */
+        IMPORT_C RCmDestination DestinationL() const;
+
+        
+        /**
+        * checks if connection methods are the same 
+        * 
+        * @since S60 3.2
+        * @param aConnMethod the connection method being compared
+        * @return ETrue if the destinations are the same
+        */
+        IMPORT_C TBool operator==( RCmConnectionMethod& aConnMethod ) const;
+        
+        /**
+        * checks if connection methods are not the same 
+        * 
+        * @since S60 3.2
+        * @param aConnMethod the connection method being compared
+        * @return ETrue if the destinations are different
+        */
+        IMPORT_C TBool operator!=( RCmConnectionMethod& aConnMethod ) const;
+        
+
+        /**
+        * assignment operator 
+        * 
+        * @since S60 3.2
+        * @return RCmConnectionMethod
+        */
+        IMPORT_C RCmConnectionMethod& operator=(const RCmConnectionMethod& 
+                                                    aConnMethod);
+
+        /**
+        * Creates a copy of this connection method. UpdateL() has to be called 
+        * to store new connection method in database. Ownership is passed.
+        */
+        IMPORT_C RCmConnectionMethod CreateCopyL();
+
+                /**
+        * Sets the value for a TInt attribute.
+        * @param aAttribute Identifies the attribute to be set.
+        * @param aValue The value to be set.
+        * @return None.
+        */
+        IMPORT_C void SetIntAttributeL( TUint32 aAttribute, TUint32 aValue );
+
+        /**
+        * Sets the value for a TBool attribute.
+        * @param aAttribute Identifies the attribute to be set.
+        * @param aValue The value to be set.
+        * @return None.
+        */
+        IMPORT_C void SetBoolAttributeL( TUint32 aAttribute, TBool aValue );
+
+        /**
+        * Sets the value for a String16 attribute.
+        * @param aAttribute Identifies the attribute to be set.
+        * @param aValue The value to be set.
+        * @return None.
+        */
+        IMPORT_C void SetStringAttributeL( TUint32 aAttribute, 
+                                           const TDesC16& aValue );
+
+        /**
+        * Sets the value for a String8 attribute.
+        * @param aAttribute Identifies the attribute to be set.
+        * @param aValue The value to be set.
+        * @return None.
+        */
+        IMPORT_C void SetString8AttributeL( TUint32 aAttribute, 
+                                            const TDesC8& aValue );
+
+        /**
+        * Try to delete the connection method. If it is referenced from 
+        * any destination, then the references are removed and the 
+        * connection method is deleted.
+        * Do NOT call this function if you got this
+        * connection method from a destination. Call destination's
+        * DeleteConnectionMethodL() function instead.
+        * @return ETrue if connection method deleted.
+        */
+        IMPORT_C TBool DeleteL();
+
+        /**
+        * Update in the database.
+        * @return None.
+        */        
+        IMPORT_C void UpdateL();
+
+    private:
+    
+        friend class RCmDestination;
+        friend class RCmManager;
+        
+    private:
+        
+        /**
+         * the implementation class
+         */
+        CCmPluginBaseEng* iImplementation;
+    };
+
+#include <cmconnectionmethod.inl>
+    
+#endif      // CMCONNECTIONMETHOD_H