simpledatamodeladapter/inc/presenceconnectioninfo.h
branchRCL_3
changeset 35 fbd2e7cec7ef
parent 0 c8caa15ef882
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/simpledatamodeladapter/inc/presenceconnectioninfo.h	Wed Sep 01 12:23:14 2010 +0100
@@ -0,0 +1,190 @@
+/*
+* 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 "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:  IETF SIMPLE Protocol implementation for XIMP Framework
+*
+*/
+
+
+#ifndef CPRESENCECONNECTIONARRAY_H
+#define CPRESENCECONNECTIONARRAY_H
+
+#include <e32base.h>
+#include "presencelogger.h"
+#include "presenceplugincommon.h"
+#include "presencepluginconnection.h"
+
+class MXIMPProtocolConnection;
+
+/**
+ * CPresencePlugin
+ *
+ * Implementation of CXIMPProtocolPluginBase
+ *
+ * @lib presenceplugin.dll
+ * @since S60 v3.2
+ */
+
+
+NONSHARABLE_CLASS( CPresenceConnectionInfo ) : public CBase
+    {
+    public:
+        
+        /**
+        * Two-phased constructor.
+        *
+        * @param none
+        */
+        static CPresenceConnectionInfo* NewL( 
+        		MXIMPProtocolConnection* aConnection );
+    
+        /**
+         * SetConnectionStatus()
+         *
+         * @since S60 3.2 
+         * @param TConnectionStatus
+         * @return none
+         */
+        void SetConnectionStatus( 
+        		CPresencePluginConnection::TConnectionStatus aStatus );
+        
+        /**
+         * SetConnectionETag()
+         *
+         * @since S60 3.2 
+         * @param TDesC8 aETag
+         * @return none
+         */
+        void SetConnectionETag( const TDesC8& aETag );
+        
+        /**
+         * GetConnectionStatus()
+         *
+         * @since S60 3.2 
+         * @param none
+         * @return TConnectionStatus connection status
+         */
+        CPresencePluginConnection::TConnectionStatus GetConnectionStatus();
+        
+        /**
+         * GetConnectionEtag()
+         *
+         * @since S60 3.2 
+         * @param none
+         * @return TDesC8 ETag
+         */
+        TDesC8* GetConnectionEtag();
+        
+        /**
+         * GetConnection()
+         *
+         * @since S60 3.2 
+         * @param none
+         * @return MXIMPProtocolConnection connection instance
+         */
+        MXIMPProtocolConnection* GetConnection();
+        
+        /**
+         * IncreaseClientCount()
+         *
+         * @since S60 3.2 
+         * @param none
+         * @return none
+         */
+        void IncreaseClientCount();
+        
+        /**
+         * DecreaseClientCount()
+         *
+         * @since S60 3.2 
+         * @param none
+         * @return none
+         */        
+        void DecreaseClientCount();
+        
+        /**
+         * GenerateClientId()
+         *
+         * @since S60 3.2 
+         * @param none
+         * @return TInt uniqueclient id
+         */ 
+        TInt GenerateClientId();
+        
+        /**
+         * GenerateClientId()
+         *
+         * @since S60 3.2 
+         * @param none
+         * @return TInt uniqueclient id
+         */ 
+        TInt GetClientId();
+        
+        /**
+         * GenerateClientId()
+         *
+         * @since S60 3.2 
+         * @param none
+         * @return TInt client count
+         */
+        TInt ClientCount();
+        
+         /**
+          * Standard C++ destructor
+          */
+         ~CPresenceConnectionInfo();
+               
+     private:
+     
+         /**
+          * Standard C++ constructor
+          */   
+         CPresenceConnectionInfo( MXIMPProtocolConnection* aConnection );
+         
+    public: // data
+        
+        /**
+         * Connection ETag
+         * Own.
+         */
+        HBufC8* iETag;
+        
+        /**
+         * Connection
+         * Own.
+         */
+        MXIMPProtocolConnection* iConnection;
+        
+        /**
+         * Connection status
+         * Own.
+         */
+        CPresencePluginConnection::TConnectionStatus iConnectStatus;
+        
+        /**
+         * Connection status
+         * Own.
+         */
+        TInt iClientCount;
+        
+        /**
+         * Client id
+         * Own.
+         */
+        TUint iClientId;
+                  
+        SIMPLE_UNIT_TEST( T_CPresenceConnectionInfo )
+        
+    };
+
+#endif // CPRESENCEPLUGIN_H