diff -r 2669f8761a99 -r fbd2e7cec7ef simpledatamodeladapter/src/presenceconnectioninfo.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/simpledatamodeladapter/src/presenceconnectioninfo.cpp Wed Sep 01 12:23:14 2010 +0100 @@ -0,0 +1,192 @@ +/* +* 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 +* +*/ + +#include +#include + +#include "presencepluginconnection.h" +#include "presenceconnectioninfo.h" +#include "presenceplugincommon.h" +#include "presencelogger.h" + + +// ======== MEMBER FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::CPresenceConnectionInfo() +// --------------------------------------------------------------------------- +// +CPresenceConnectionInfo::CPresenceConnectionInfo( + MXIMPProtocolConnection* aConnection ): + iConnection( aConnection ), + iConnectStatus( CPresencePluginConnection::ENotActive ) + { + iClientCount = 0; + iClientId = GenerateClientId(); + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::NewL() +// --------------------------------------------------------------------------- +// +CPresenceConnectionInfo* CPresenceConnectionInfo::NewL( + MXIMPProtocolConnection* aConnection ) + { + DP_SDA("CPresenceConnectionInfo::NewL"); + CPresenceConnectionInfo* self = + new( ELeave ) CPresenceConnectionInfo( aConnection ); + return self; + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::~CPresenceConnectionInfo() +// --------------------------------------------------------------------------- +// +CPresenceConnectionInfo::~CPresenceConnectionInfo() + { + DP_SDA("CPresenceConnectionInfo::~CPresenceConnectionInfo"); + DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId); + + delete iETag; + iETag = NULL; + + DP_SDA("CPresenceConnectionInfo::~CPresenceConnectionInfo done"); + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::SetConnectionStatus() +// --------------------------------------------------------------------------- +// +void CPresenceConnectionInfo::SetConnectionStatus( + CPresencePluginConnection::TConnectionStatus aStatus ) + { + DP_SDA2("CPresenceConnectionInfo::SetConnectionStatus %d", aStatus); + DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId); + iConnectStatus = aStatus; + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::SetConnectionETag() +// --------------------------------------------------------------------------- +// +void CPresenceConnectionInfo::SetConnectionETag( const TDesC8& aETag ) + { + DP_SDA("CPresenceConnectionInfo::SetConnectionETag"); + DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId); + delete iETag; + iETag = NULL; + TRAP_IGNORE( ( iETag = aETag.AllocL() ) ); + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::GetConnectionStatus() +// --------------------------------------------------------------------------- +// +CPresencePluginConnection::TConnectionStatus + CPresenceConnectionInfo::GetConnectionStatus() + { + DP_SDA("CPresenceConnectionInfo::GetConnectionStatus"); + DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId); + DP_SDA2("CPresenceConnectionInfo:: connection status %d", iConnectStatus); + return iConnectStatus; + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::GetConnectionEtag() +// --------------------------------------------------------------------------- +// +TDesC8* CPresenceConnectionInfo::GetConnectionEtag() + { + DP_SDA("CPresenceConnectionInfo::GetConnectionEtag"); + DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId); + return iETag; + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::GetConnection() +// --------------------------------------------------------------------------- +// +MXIMPProtocolConnection* CPresenceConnectionInfo::GetConnection() + { + DP_SDA("CPresenceConnectionInfo::GetConnection"); + DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId); + return iConnection; + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::IncreaseClientCount() +// --------------------------------------------------------------------------- +// +void CPresenceConnectionInfo::IncreaseClientCount() + { + iClientCount++; + DP_SDA2("CPresenceConnectionInfo::IncreaseClientCount %d", iClientCount ); + DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId); + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::DecreaseClientCount() +// --------------------------------------------------------------------------- +// +void CPresenceConnectionInfo::DecreaseClientCount() + { + iClientCount--; + DP_SDA2("CPresenceConnectionArray::DecreaseClientCount %d", iClientCount ); + DP_SDA2("CPresenceConnectionArray:: clientID %d", iClientId); + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::ClientCount() +// --------------------------------------------------------------------------- +// +TInt CPresenceConnectionInfo::ClientCount() + { + DP_SDA2("CPresenceConnectionInfo::ClientCount %d", iClientCount ); + DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId); + return iClientCount; + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::GetClientId() +// --------------------------------------------------------------------------- +// +TInt CPresenceConnectionInfo::GetClientId() + { + DP_SDA2("CPresenceConnectionInfo::ClientCount %d", iClientCount ); + DP_SDA2("CPresenceConnectionInfo:: clientID %d", iClientId); + return iClientId; + } + +// --------------------------------------------------------------------------- +// CPresenceConnectionInfo::GenerateClientId() +// --------------------------------------------------------------------------- +// +TInt CPresenceConnectionInfo::GenerateClientId() + { + // Generate unique session client id + DP_SDA("CPresenceConnectionInfo::GenerateClientIdstart"); + const TInt KMaxRand = 9999; + TInt64 seed; + TTime time; + time.HomeTime(); + seed = time.Int64(); + TInt random = Math::Rand( seed ) % KMaxRand; + DP_SDA("CPresenceConnectionInfo::GenerateClientId 1"); + return random; + } + +// End of file