simpledatamodeladapter/inc/presenceconnectioninfo.h
branchRCL_3
changeset 18 fbd2e7cec7ef
parent 0 c8caa15ef882
equal deleted inserted replaced
17:2669f8761a99 18:fbd2e7cec7ef
       
     1 /*
       
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  IETF SIMPLE Protocol implementation for XIMP Framework
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef CPRESENCECONNECTIONARRAY_H
       
    20 #define CPRESENCECONNECTIONARRAY_H
       
    21 
       
    22 #include <e32base.h>
       
    23 #include "presencelogger.h"
       
    24 #include "presenceplugincommon.h"
       
    25 #include "presencepluginconnection.h"
       
    26 
       
    27 class MXIMPProtocolConnection;
       
    28 
       
    29 /**
       
    30  * CPresencePlugin
       
    31  *
       
    32  * Implementation of CXIMPProtocolPluginBase
       
    33  *
       
    34  * @lib presenceplugin.dll
       
    35  * @since S60 v3.2
       
    36  */
       
    37 
       
    38 
       
    39 NONSHARABLE_CLASS( CPresenceConnectionInfo ) : public CBase
       
    40     {
       
    41     public:
       
    42         
       
    43         /**
       
    44         * Two-phased constructor.
       
    45         *
       
    46         * @param none
       
    47         */
       
    48         static CPresenceConnectionInfo* NewL( 
       
    49         		MXIMPProtocolConnection* aConnection );
       
    50     
       
    51         /**
       
    52          * SetConnectionStatus()
       
    53          *
       
    54          * @since S60 3.2 
       
    55          * @param TConnectionStatus
       
    56          * @return none
       
    57          */
       
    58         void SetConnectionStatus( 
       
    59         		CPresencePluginConnection::TConnectionStatus aStatus );
       
    60         
       
    61         /**
       
    62          * SetConnectionETag()
       
    63          *
       
    64          * @since S60 3.2 
       
    65          * @param TDesC8 aETag
       
    66          * @return none
       
    67          */
       
    68         void SetConnectionETag( const TDesC8& aETag );
       
    69         
       
    70         /**
       
    71          * GetConnectionStatus()
       
    72          *
       
    73          * @since S60 3.2 
       
    74          * @param none
       
    75          * @return TConnectionStatus connection status
       
    76          */
       
    77         CPresencePluginConnection::TConnectionStatus GetConnectionStatus();
       
    78         
       
    79         /**
       
    80          * GetConnectionEtag()
       
    81          *
       
    82          * @since S60 3.2 
       
    83          * @param none
       
    84          * @return TDesC8 ETag
       
    85          */
       
    86         TDesC8* GetConnectionEtag();
       
    87         
       
    88         /**
       
    89          * GetConnection()
       
    90          *
       
    91          * @since S60 3.2 
       
    92          * @param none
       
    93          * @return MXIMPProtocolConnection connection instance
       
    94          */
       
    95         MXIMPProtocolConnection* GetConnection();
       
    96         
       
    97         /**
       
    98          * IncreaseClientCount()
       
    99          *
       
   100          * @since S60 3.2 
       
   101          * @param none
       
   102          * @return none
       
   103          */
       
   104         void IncreaseClientCount();
       
   105         
       
   106         /**
       
   107          * DecreaseClientCount()
       
   108          *
       
   109          * @since S60 3.2 
       
   110          * @param none
       
   111          * @return none
       
   112          */        
       
   113         void DecreaseClientCount();
       
   114         
       
   115         /**
       
   116          * GenerateClientId()
       
   117          *
       
   118          * @since S60 3.2 
       
   119          * @param none
       
   120          * @return TInt uniqueclient id
       
   121          */ 
       
   122         TInt GenerateClientId();
       
   123         
       
   124         /**
       
   125          * GenerateClientId()
       
   126          *
       
   127          * @since S60 3.2 
       
   128          * @param none
       
   129          * @return TInt uniqueclient id
       
   130          */ 
       
   131         TInt GetClientId();
       
   132         
       
   133         /**
       
   134          * GenerateClientId()
       
   135          *
       
   136          * @since S60 3.2 
       
   137          * @param none
       
   138          * @return TInt client count
       
   139          */
       
   140         TInt ClientCount();
       
   141         
       
   142          /**
       
   143           * Standard C++ destructor
       
   144           */
       
   145          ~CPresenceConnectionInfo();
       
   146                
       
   147      private:
       
   148      
       
   149          /**
       
   150           * Standard C++ constructor
       
   151           */   
       
   152          CPresenceConnectionInfo( MXIMPProtocolConnection* aConnection );
       
   153          
       
   154     public: // data
       
   155         
       
   156         /**
       
   157          * Connection ETag
       
   158          * Own.
       
   159          */
       
   160         HBufC8* iETag;
       
   161         
       
   162         /**
       
   163          * Connection
       
   164          * Own.
       
   165          */
       
   166         MXIMPProtocolConnection* iConnection;
       
   167         
       
   168         /**
       
   169          * Connection status
       
   170          * Own.
       
   171          */
       
   172         CPresencePluginConnection::TConnectionStatus iConnectStatus;
       
   173         
       
   174         /**
       
   175          * Connection status
       
   176          * Own.
       
   177          */
       
   178         TInt iClientCount;
       
   179         
       
   180         /**
       
   181          * Client id
       
   182          * Own.
       
   183          */
       
   184         TUint iClientId;
       
   185                   
       
   186         SIMPLE_UNIT_TEST( T_CPresenceConnectionInfo )
       
   187         
       
   188     };
       
   189 
       
   190 #endif // CPRESENCEPLUGIN_H