simpledatamodeladapter/src/presenceconnectioninfo.cpp
branchRCL_3
changeset 35 fbd2e7cec7ef
parent 0 c8caa15ef882
equal deleted inserted replaced
34:2669f8761a99 35: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 #include <e32math.h> 
       
    19 #include <ximpprotocolconnection.h>
       
    20 
       
    21 #include "presencepluginconnection.h"
       
    22 #include "presenceconnectioninfo.h"
       
    23 #include "presenceplugincommon.h"
       
    24 #include "presencelogger.h"
       
    25 
       
    26  
       
    27 // ======== MEMBER FUNCTIONS ========
       
    28 
       
    29 // ---------------------------------------------------------------------------
       
    30 // CPresenceConnectionInfo::CPresenceConnectionInfo()
       
    31 // ---------------------------------------------------------------------------
       
    32 //
       
    33 CPresenceConnectionInfo::CPresenceConnectionInfo( 
       
    34         MXIMPProtocolConnection* aConnection ):
       
    35 	iConnection( aConnection ),	
       
    36     iConnectStatus( CPresencePluginConnection::ENotActive )
       
    37     {
       
    38     iClientCount = 0;
       
    39     iClientId = GenerateClientId();
       
    40     }
       
    41 
       
    42 // ---------------------------------------------------------------------------
       
    43 // CPresenceConnectionInfo::NewL()
       
    44 // ---------------------------------------------------------------------------
       
    45 //
       
    46 CPresenceConnectionInfo* CPresenceConnectionInfo::NewL( 
       
    47 		MXIMPProtocolConnection* aConnection )
       
    48     {
       
    49     DP_SDA("CPresenceConnectionInfo::NewL");
       
    50     CPresenceConnectionInfo* self =
       
    51     	new( ELeave ) CPresenceConnectionInfo( aConnection );
       
    52     return self;
       
    53     }
       
    54 
       
    55 // ---------------------------------------------------------------------------
       
    56 // CPresenceConnectionInfo::~CPresenceConnectionInfo()
       
    57 // ---------------------------------------------------------------------------
       
    58 //
       
    59 CPresenceConnectionInfo::~CPresenceConnectionInfo()
       
    60     {
       
    61     DP_SDA("CPresenceConnectionInfo::~CPresenceConnectionInfo");
       
    62     DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId);
       
    63     
       
    64     delete iETag;
       
    65     iETag = NULL;
       
    66     
       
    67     DP_SDA("CPresenceConnectionInfo::~CPresenceConnectionInfo done");
       
    68     }
       
    69 
       
    70 // ---------------------------------------------------------------------------
       
    71 // CPresenceConnectionInfo::SetConnectionStatus()
       
    72 // ---------------------------------------------------------------------------
       
    73 //
       
    74 void CPresenceConnectionInfo::SetConnectionStatus( 
       
    75 		CPresencePluginConnection::TConnectionStatus aStatus )
       
    76     {
       
    77     DP_SDA2("CPresenceConnectionInfo::SetConnectionStatus %d", aStatus);
       
    78     DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId);
       
    79     iConnectStatus = aStatus;
       
    80     }
       
    81 
       
    82 // ---------------------------------------------------------------------------
       
    83 // CPresenceConnectionInfo::SetConnectionETag()
       
    84 // ---------------------------------------------------------------------------
       
    85 //
       
    86 void CPresenceConnectionInfo::SetConnectionETag( const TDesC8& aETag )
       
    87     {
       
    88     DP_SDA("CPresenceConnectionInfo::SetConnectionETag");
       
    89     DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId);
       
    90     delete iETag;
       
    91     iETag = NULL;
       
    92     TRAP_IGNORE( ( iETag = aETag.AllocL() ) );
       
    93     }
       
    94 
       
    95 // ---------------------------------------------------------------------------
       
    96 // CPresenceConnectionInfo::GetConnectionStatus()
       
    97 // ---------------------------------------------------------------------------
       
    98 //
       
    99 CPresencePluginConnection::TConnectionStatus 
       
   100 	CPresenceConnectionInfo::GetConnectionStatus()
       
   101     {
       
   102     DP_SDA("CPresenceConnectionInfo::GetConnectionStatus");
       
   103     DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId);
       
   104     DP_SDA2("CPresenceConnectionInfo:: connection status %d", iConnectStatus);
       
   105     return iConnectStatus;
       
   106     }
       
   107 
       
   108 // ---------------------------------------------------------------------------
       
   109 // CPresenceConnectionInfo::GetConnectionEtag()
       
   110 // ---------------------------------------------------------------------------
       
   111 //
       
   112 TDesC8* CPresenceConnectionInfo::GetConnectionEtag()
       
   113     {
       
   114     DP_SDA("CPresenceConnectionInfo::GetConnectionEtag");
       
   115     DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId);
       
   116     return iETag;
       
   117     }
       
   118 
       
   119 // ---------------------------------------------------------------------------
       
   120 // CPresenceConnectionInfo::GetConnection()
       
   121 // ---------------------------------------------------------------------------
       
   122 //
       
   123 MXIMPProtocolConnection* CPresenceConnectionInfo::GetConnection()
       
   124     {
       
   125     DP_SDA("CPresenceConnectionInfo::GetConnection");
       
   126     DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId);
       
   127     return iConnection;
       
   128     }
       
   129 
       
   130 // ---------------------------------------------------------------------------
       
   131 // CPresenceConnectionInfo::IncreaseClientCount()
       
   132 // ---------------------------------------------------------------------------
       
   133 //
       
   134 void CPresenceConnectionInfo::IncreaseClientCount()
       
   135     {
       
   136     iClientCount++;
       
   137     DP_SDA2("CPresenceConnectionInfo::IncreaseClientCount %d", iClientCount );
       
   138     DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId);
       
   139     }
       
   140 
       
   141 // ---------------------------------------------------------------------------
       
   142 // CPresenceConnectionInfo::DecreaseClientCount()
       
   143 // ---------------------------------------------------------------------------
       
   144 //
       
   145 void CPresenceConnectionInfo::DecreaseClientCount()
       
   146     {
       
   147     iClientCount--;
       
   148     DP_SDA2("CPresenceConnectionArray::DecreaseClientCount %d", iClientCount );
       
   149     DP_SDA2("CPresenceConnectionArray:: clientID %d", iClientId);
       
   150     }
       
   151 
       
   152 // ---------------------------------------------------------------------------
       
   153 // CPresenceConnectionInfo::ClientCount()
       
   154 // ---------------------------------------------------------------------------
       
   155 //
       
   156 TInt CPresenceConnectionInfo::ClientCount()
       
   157     {
       
   158     DP_SDA2("CPresenceConnectionInfo::ClientCount %d", iClientCount );
       
   159     DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId);
       
   160     return iClientCount;
       
   161     }
       
   162 
       
   163 // ---------------------------------------------------------------------------
       
   164 // CPresenceConnectionInfo::GetClientId()
       
   165 // ---------------------------------------------------------------------------
       
   166 //
       
   167 TInt CPresenceConnectionInfo::GetClientId()
       
   168     {
       
   169     DP_SDA2("CPresenceConnectionInfo::ClientCount %d", iClientCount );
       
   170     DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId);
       
   171     return iClientId;
       
   172     }
       
   173 
       
   174 // ---------------------------------------------------------------------------
       
   175 // CPresenceConnectionInfo::GenerateClientId()
       
   176 // ---------------------------------------------------------------------------
       
   177 //
       
   178 TInt CPresenceConnectionInfo::GenerateClientId()
       
   179     {
       
   180     // Generate unique session client id
       
   181     DP_SDA("CPresenceConnectionInfo::GenerateClientIdstart");
       
   182     const TInt KMaxRand = 9999;
       
   183     TInt64 seed;
       
   184     TTime time;
       
   185     time.HomeTime();
       
   186     seed = time.Int64();
       
   187     TInt random = Math::Rand( seed ) % KMaxRand;
       
   188     DP_SDA("CPresenceConnectionInfo::GenerateClientId 1");
       
   189     return random; 
       
   190     }
       
   191 
       
   192 // End of file