diff -r 000000000000 -r 5a93021fdf25 connectionmonitoring/connmon/connectionmonitor/src/RConnMon.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectionmonitoring/connmon/connectionmonitor/src/RConnMon.cpp Thu Dec 17 08:55:21 2009 +0200 @@ -0,0 +1,1323 @@ +/* +* Copyright (c) 2002-2008 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: Implementation for Connection Monitor Server API methods. +* +*/ + +#include + +#include "ConnMonDef.h" +#include "ConnMonCli.h" +#include "ConnMonServ.h" +#include "log.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::ConnectL +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt RConnectionMonitor::ConnectL() + { + //LOGENTRFN("RConnectionMonitor::ConnectL()") + LOGIT1("Client [%d]: calling ConnectL()", this) + + if ( IsConnected() ) + { + LOGIT1("Client [%d]: already connected", this) + return KErrNone; + } + + // Connect to server + TInt errConnect( KErrNone ); + TInt errLaunch( KErrNone ); + + for ( TInt tries = 0; tries < 2; tries++ ) + { + // This initialization is needed if some application starts + // ConnMon server just between CreateSession() and + // LaunchFromClient() here. + errLaunch = KErrNone; + + errConnect = CreateSession( + KConnectionMonitorServerName, + TVersion( 0, 0, 0 ), + KNumMessageSlots ); + if ( errConnect ) + { + if ( errConnect != KErrNotFound && errConnect != KErrServerTerminated ) + { + break; // Problems other than server not here - propagate error + } + + errLaunch = CConnMonScheduler::LaunchFromClient(); + + // If server launched ok (KErrNone), try again to connect + // If someone else got there first (KErrAlreadyExists), try again to connect + if ( errLaunch != KErrNone && errLaunch != KErrAlreadyExists ) + { + break; // Server not launched: don't cycle round again + } + } + else + { + break; + } + } + User::LeaveIfError( errConnect ); + User::LeaveIfError( errLaunch ); + + // Initialize an array for holding the non-descriptor parameters that are + // passed along asyncronous methods to the server. (Inter-thread reads/writes + // are possible only on desc data.) + if ( iPtrArray.Count() == 0 ) + { + TPtr8 ptr( reinterpret_cast( NULL ), 0 ); + + for ( TInt i = 0; i < KNumPtrs; i++ ) + { + User::LeaveIfError( iPtrArray.Append( ptr ) ); + } + } + +#ifdef _DEBUG + TName processName = RProcess().Name(); + if ( processName.Length() < KMaxName ) + { + LOGIT2("Client [%d]: process name [%s]", this, processName.PtrZ()) + } +#endif // _DEBUG + + //LOGEXITFN("RConnectionMonitor::ConnectL()") + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::Close +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::Close() + { + //LOGENTRFN("RConnectionMonitor::Close()") + // Destroy pointer array + iPtrArray.Close(); + + // Destroy notification handler + delete iHandler; + iHandler = NULL; + + // Destroy server session + RSessionBase::Close(); + + LOGIT1("Client [%d]: closed!", this) + //LOGEXITFN("RConnectionMonitor::Close()") + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::GetConnectionCount +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::GetConnectionCount( + TUint& aConnectionCount, + TRequestStatus& aStatus ) + { + LOGIT1("Client [%d]: GetConnectionCount()", this) + + TPtr8& pckg = NextPtr(); + pckg.Set( + reinterpret_cast( &aConnectionCount ), + sizeof( aConnectionCount ), + sizeof( aConnectionCount ) ); + + TIpcArgs args( &pckg ); + + SendReceive( EReqGetConnectionCount, args, aStatus ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::GetConnectionInfo +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt RConnectionMonitor::GetConnectionInfo( + const TUint aIndex, + TUint& aConnectionId, + TUint& aSubConnectionCount ) const + { + LOGIT2("Client [%d]: GetConnectionInfo(), index %d", this, aIndex) + + TPtr8 n( reinterpret_cast( &aConnectionId ), sizeof( aConnectionId ) ); + TPtr8 m( reinterpret_cast( &aSubConnectionCount ), sizeof( aSubConnectionCount ) ); + + TIpcArgs args( aIndex, &n, &m ); + + return( SendReceive( EReqGetConnectionInfo, args ) ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::GetSubConnectionInfo +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt RConnectionMonitor::GetSubConnectionInfo( + const TUint aConnectionId, + const TUint aIndex, + TUint& aSubConnectionId ) const + { + LOGIT3("Client [%d]: GetSubConnectionInfo(), conn.id %d, index %d", this, aConnectionId, aIndex) + + TPtr8 n( reinterpret_cast( &aSubConnectionId ), sizeof( aSubConnectionId ) ); + + TIpcArgs args( aConnectionId, aIndex, &n ); + + return( SendReceive( EReqGetSubConnectionInfo, args ) ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::GetIntAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::GetIntAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + TInt& aValue, + TRequestStatus& aStatus ) + { + LOGIT4("Client [%d]: GetIntAttribute(), conn.id %d, sub.conn.id %d, attribute %d", + this, aConnectionId, aSubConnectionId, aAttribute) + + TPtr8& pckg = NextPtr(); + pckg.Set( reinterpret_cast( &aValue ), sizeof( aValue ), sizeof( aValue ) ); + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &pckg ); + + SendReceive( EReqGetIntAttribute, args, aStatus ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::GetUintAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::GetUintAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + TUint& aValue, + TRequestStatus& aStatus ) + { + LOGIT4("Client [%d]: GetUintAttribute(), conn.id %d, sub.conn.id %d, attribute %d", + this, aConnectionId, aSubConnectionId, aAttribute) + + TPtr8& pckg = NextPtr(); + pckg.Set( reinterpret_cast( &aValue ), sizeof( aValue ), sizeof( aValue ) ); + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &pckg ); + + SendReceive( EReqGetUintAttribute, args, aStatus ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::GetBoolAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::GetBoolAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + TBool& aValue, + TRequestStatus& aStatus ) + { + LOGIT4("Client [%d]: GetBoolAttribute(), conn.id %d, sub.conn.id %d, attribute %d", + this, aConnectionId, aSubConnectionId, aAttribute) + + TPtr8& pckg = NextPtr(); + pckg.Set( reinterpret_cast( &aValue ), sizeof( aValue ), sizeof( aValue ) ); + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &pckg ); + + SendReceive( EReqGetBoolAttribute, args, aStatus ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::GetStringAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::GetStringAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + TDes& aValue, + TRequestStatus& aStatus ) const + { + LOGIT4("Client [%d]: GetStringAttribute(), conn.id %d, sub.conn.id %d, attribute %d", + this, aConnectionId, aSubConnectionId, aAttribute) + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &aValue ); + + SendReceive( EReqGetStringAttribute, args, aStatus ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::GetPckgAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::GetPckgAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + TDes8& aValue, + TRequestStatus& aStatus ) const + { + LOGIT4("Client [%d]: 8GetPckgAttribute(), conn.id %d, sub.conn.id %d, attribute %d", + this, aConnectionId, aSubConnectionId, aAttribute) + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &aValue ); + + SendReceive( EReqGetPckgAttribute, args, aStatus ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::GetPckgAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::GetPckgAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + TDes16& aValue, + TRequestStatus& aStatus ) const + { + LOGIT4("Client [%d]: 16GetPckgAttribute(), conn.id %d, sub.conn.id %d, attribute %d", + this, aConnectionId, aSubConnectionId, aAttribute) + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &aValue ); + + SendReceive( EReqGetPckgAttribute, args, aStatus ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::SetIntAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt RConnectionMonitor::SetIntAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + const TInt aValue ) const + { + LOGIT5("Client [%d]: SetIntAttribute(), conn.id %d, sub.conn.id %d, attribute %d, value %d", + this, aConnectionId, aSubConnectionId, aAttribute, aValue) + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, aValue ); + + return( SendReceive( EReqSetIntAttribute, args ) ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::SetUintAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt RConnectionMonitor::SetUintAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + const TUint aValue ) const + { + LOGIT5("Client [%d]: SetUintAttribute(), conn.id %d, sub.conn.id %d, attribute %d, value %d", + this, aConnectionId, aSubConnectionId, aAttribute, aValue) + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, aValue ); + + return( SendReceive( EReqSetUintAttribute, args ) ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::SetBoolAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt RConnectionMonitor::SetBoolAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + const TBool aValue ) const + { + LOGIT5("Client [%d]: SetBoolAttribute(), conn.id %d, sub.conn.id %d, attribute %d, value %d", + this, aConnectionId, aSubConnectionId, aAttribute, aValue) + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, aValue ); + + return( SendReceive( EReqSetBoolAttribute, args ) ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::SetStringAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt RConnectionMonitor::SetStringAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + const TDes& aValue ) const + { + LOGIT4("Client [%d]: SetStringAttribute(), conn.id %d, sub.conn.id %d, attribute %d", + this, aConnectionId, aSubConnectionId, aAttribute) + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &aValue ); + + return( SendReceive( EReqSetStringAttribute, args ) ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::SetPckgAttribute +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt RConnectionMonitor::SetPckgAttribute( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aAttribute, + const TDes8& aValue ) const + { + LOGIT4("Client [%d]: SetPckgAttribute(), conn.id %d, sub.conn.id %d, attribute %d", + this, aConnectionId, aSubConnectionId, aAttribute) + + TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &aValue ); + + return( SendReceive( EReqSetPckgAttribute, args ) ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::CancelAsyncRequest +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::CancelAsyncRequest( TInt aReqToCancel ) + { + LOGIT2("Client [%d]: CancelAsyncRequest(), request to cancel: %d", this, aReqToCancel) + + TIpcArgs args( aReqToCancel ); + + SendReceive( EReqCancelAsyncRequest, args ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::NotifyEventL +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt RConnectionMonitor::NotifyEventL( MConnectionMonitorObserver& aObserver ) + { + LOGIT1("Client [%d]: NotifyEventL()", this) + + if ( iHandler == 0) + { + // Create active object to receive events and add it to scheduler + iHandler = new( ELeave ) CConnMonEventHandler( &aObserver, *this ); + iHandler->Construct(); + + // Kick off receive handler active object to start listening and start a receive + iHandler->ReceiveNotification(); + } + else + { + // Continue paused event handler. + iHandler->Continue( &aObserver ); + } + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::CancelNotifications +// ----------------------------------------------------------------------------- +// +EXPORT_C void RConnectionMonitor::CancelNotifications() + { + LOGIT1("Client [%d]: CancelNotifications()", this) + + if ( iHandler != 0 ) + { + if ( iHandler->IsActive() ) + { + // Cancel event receiver + iHandler->Cancel(); + + // Delete and remove from active scheduler + //iHandler->Deque; + delete iHandler; + iHandler = NULL; + } + else + { + // Client has cancelled notifications from + // EventL() method. -> can't delete the iHandler object. + // CancelReceiveEvent() needs to be called to set + // iListening flag of this session in the server to 'false'. + CancelReceiveEvent(); + iHandler->Pause(); + } + } + } + + +// Private methods in conjunction with CConnMonEventHandler + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::ReceiveEvent +// ----------------------------------------------------------------------------- +// +void RConnectionMonitor::ReceiveEvent( + TDes8& aBuffer, + TDes8& aExtraBuf, + TRequestStatus& aStatus ) + { + //LOGIT1("Client [%d]: waiting for next event", this) + + TIpcArgs args( &aBuffer, &aExtraBuf ); + + SendReceive( EReqReceiveEvent, args, aStatus ); + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::CancelReceiveEvent +// ----------------------------------------------------------------------------- +// +void RConnectionMonitor::CancelReceiveEvent() + { + LOGIT1("Client [%d]: CancelReceiveEvent()", this) + + SendReceive( EReqCancelReceiveEvent, TIpcArgs( TIpcArgs::ENothing ) ); + } + +// Private internal methods + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::IsConnected +// ----------------------------------------------------------------------------- +// +TBool RConnectionMonitor::IsConnected() const + { + if ( iPtrArray.Count() > 0 ) + { + return ETrue; + } + else + { + return EFalse; + } + } + +// ----------------------------------------------------------------------------- +// RConnectionMonitor::NextPtr +// ----------------------------------------------------------------------------- +// +TPtr8& RConnectionMonitor::NextPtr() + { + __ASSERT_ALWAYS( IsConnected(), Panic( EConnMonPanicClientNotConnected ) ); + + if ( iIndex >= iPtrArray.Count() ) + { + iIndex = 0; + } + + return iPtrArray[iIndex++]; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonEventBase::CConnMonEventBase +// ----------------------------------------------------------------------------- +// +CConnMonEventBase::CConnMonEventBase( + const TInt aEventType, + const TUint aConnectionId ) + { + iEventType = aEventType; + iConnectionId = aConnectionId; + } + +// Destructor +CConnMonEventBase::~CConnMonEventBase() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonEventBase::EventType +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CConnMonEventBase::EventType() const + { + return iEventType; + } + +// ----------------------------------------------------------------------------- +// CConnMonEventBase::ConnectionId +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonEventBase::ConnectionId() const + { + return iConnectionId; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonCreateConnection::CConnMonCreateConnection +// ----------------------------------------------------------------------------- +// +CConnMonCreateConnection::CConnMonCreateConnection( + const TUint aConnectionId ) + : + CConnMonEventBase( EConnMonCreateConnection, aConnectionId ) + { + } + +// Destructor +CConnMonCreateConnection::~CConnMonCreateConnection() + { + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonDeleteConnection::CConnMonDeleteConnection +// ----------------------------------------------------------------------------- +// +CConnMonDeleteConnection::CConnMonDeleteConnection( + const TUint aConnectionId, + const TUint aDownlinkData, + const TUint aUplinkData, + const TBool aAuthDelete ) + : + CConnMonEventBase( EConnMonDeleteConnection, aConnectionId ) + { + iDownlinkData = aDownlinkData; + iUplinkData = aUplinkData; + iAuthDelete = aAuthDelete; + } + +// Destructor +CConnMonDeleteConnection::~CConnMonDeleteConnection() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonDeleteConnection::DownlinkData +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonDeleteConnection::DownlinkData() const + { + return iDownlinkData; + } + +// ----------------------------------------------------------------------------- +// CConnMonDeleteConnection::UplinkData +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonDeleteConnection::UplinkData() const + { + return iUplinkData; + } + +// ----------------------------------------------------------------------------- +// CConnMonDeleteConnection::AuthoritativeDelete +// ----------------------------------------------------------------------------- +// +EXPORT_C TBool CConnMonDeleteConnection::AuthoritativeDelete() const + { + return iAuthDelete; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonCreateSubConnection::CConnMonCreateSubConnection +// ----------------------------------------------------------------------------- +// +CConnMonCreateSubConnection::CConnMonCreateSubConnection( + const TUint aConnectionId, + const TUint aSubConnectionId ) + : + CConnMonEventBase( EConnMonCreateSubConnection, aConnectionId ) + { + iSubConnectionId = aSubConnectionId; + } + +// Destructor +CConnMonCreateSubConnection::~CConnMonCreateSubConnection() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonCreateSubConnection::SubConnectionId +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonCreateSubConnection::SubConnectionId() const + { + return iSubConnectionId; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonDeleteSubConnection::CConnMonDeleteSubConnection +// ----------------------------------------------------------------------------- +// +CConnMonDeleteSubConnection::CConnMonDeleteSubConnection( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aDownlinkData, + const TUint aUplinkData, + const TBool aAuthDelete ) + : + CConnMonEventBase( EConnMonDeleteSubConnection, aConnectionId ) + { + iSubConnectionId = aSubConnectionId; + iDownlinkData = aDownlinkData; + iUplinkData = aUplinkData; + iAuthDelete = aAuthDelete; + } + +// Destructor +CConnMonDeleteSubConnection::~CConnMonDeleteSubConnection() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonDeleteSubConnection::SubConnectionId +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonDeleteSubConnection::SubConnectionId() const + { + return iSubConnectionId; + } + +// ----------------------------------------------------------------------------- +// CConnMonDeleteSubConnection::DownlinkData +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonDeleteSubConnection::DownlinkData() const + { + return iDownlinkData; + } + +// ----------------------------------------------------------------------------- +// CConnMonDeleteSubConnection::UplinkData +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonDeleteSubConnection::UplinkData() const + { + return iUplinkData; + } + +// ----------------------------------------------------------------------------- +// CConnMonDeleteSubConnection::AuthoritativeDelete +// ----------------------------------------------------------------------------- +// +EXPORT_C TBool CConnMonDeleteSubConnection::AuthoritativeDelete() const + { + return iAuthDelete; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonDownlinkDataThreshold::CConnMonDownlinkDataThreshold +// ----------------------------------------------------------------------------- +// +CConnMonDownlinkDataThreshold::CConnMonDownlinkDataThreshold( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aDownlinkData ) + : + CConnMonEventBase( EConnMonDownlinkDataThreshold, aConnectionId ) + { + iSubConnectionId = aSubConnectionId; + iDownlinkData = aDownlinkData; + } + +// Destructor +CConnMonDownlinkDataThreshold::~CConnMonDownlinkDataThreshold() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonDownlinkDataThreshold::SubConnectionId +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonDownlinkDataThreshold::SubConnectionId() const + { + return iSubConnectionId; + } + +// ----------------------------------------------------------------------------- +// CConnMonDownlinkDataThreshold::DownlinkData +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonDownlinkDataThreshold::DownlinkData() const + { + return iDownlinkData; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonUplinkDataThreshold::CConnMonUplinkDataThreshold +// ----------------------------------------------------------------------------- +// +CConnMonUplinkDataThreshold::CConnMonUplinkDataThreshold( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TUint aUplinkData ) + : + CConnMonEventBase( EConnMonUplinkDataThreshold, aConnectionId ) + { + iSubConnectionId = aSubConnectionId; + iUplinkData = aUplinkData; + } + +// Destructor +CConnMonUplinkDataThreshold::~CConnMonUplinkDataThreshold() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonUplinkDataThreshold::SubConnectionId +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonUplinkDataThreshold::SubConnectionId() const + { + return iSubConnectionId; + } + +// ----------------------------------------------------------------------------- +// CConnMonUplinkDataThreshold::UplinkData +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonUplinkDataThreshold::UplinkData() const + { + return iUplinkData; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonNetworkStatusChange::CConnMonNetworkStatusChange +// ----------------------------------------------------------------------------- +// +CConnMonNetworkStatusChange::CConnMonNetworkStatusChange( + const TUint aConnectionId, + const TInt aNetworkStatus ) + : + CConnMonEventBase( EConnMonNetworkStatusChange, aConnectionId ) + { + iNetworkStatus = aNetworkStatus; + } + +// Destructor +CConnMonNetworkStatusChange::~CConnMonNetworkStatusChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonNetworkStatusChange::NetworkStatus +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CConnMonNetworkStatusChange::NetworkStatus() const + { + return iNetworkStatus; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonConnectionStatusChange::CConnMonConnectionStatusChange +// ----------------------------------------------------------------------------- +// +CConnMonConnectionStatusChange::CConnMonConnectionStatusChange( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TInt aConnectionStatus ) + : + CConnMonEventBase( EConnMonConnectionStatusChange, aConnectionId ) + { + iSubConnectionId = aSubConnectionId; + iConnectionStatus = aConnectionStatus; + } + +// Destructor +CConnMonConnectionStatusChange::~CConnMonConnectionStatusChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonConnectionStatusChange::SubConnectionId +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonConnectionStatusChange::SubConnectionId() const + { + return iSubConnectionId; + } + +// ----------------------------------------------------------------------------- +// CConnMonConnectionStatusChange::ConnectionStatus +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CConnMonConnectionStatusChange::ConnectionStatus() const + { + return iConnectionStatus; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonConnectionActivityChange::CConnMonConnectionActivityChange +// ----------------------------------------------------------------------------- +// +CConnMonConnectionActivityChange::CConnMonConnectionActivityChange( + const TUint aConnectionId, + const TUint aSubConnectionId, + const TBool aActivity ) + : + CConnMonEventBase( EConnMonConnectionActivityChange, aConnectionId ) + { + iSubConnectionId = aSubConnectionId; + iActivity = aActivity; + } + +// Destructor +CConnMonConnectionActivityChange::~CConnMonConnectionActivityChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonConnectionActivityChange::SubConnectionId +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonConnectionActivityChange::SubConnectionId() const + { + return iSubConnectionId; + } + +// ----------------------------------------------------------------------------- +// CConnMonConnectionActivityChange::ConnectionActivity +// ----------------------------------------------------------------------------- +// +EXPORT_C TBool CConnMonConnectionActivityChange::ConnectionActivity() const + { + return iActivity; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonNetworkRegistrationChange::CConnMonNetworkRegistrationChange +// ----------------------------------------------------------------------------- +// +CConnMonNetworkRegistrationChange::CConnMonNetworkRegistrationChange( + const TUint aConnectionId, + const TInt aRegistrationStatus ) + : + CConnMonEventBase( EConnMonNetworkRegistrationChange, aConnectionId ) + { + iRegistrationStatus = aRegistrationStatus; + } + +// Destructor +CConnMonNetworkRegistrationChange::~CConnMonNetworkRegistrationChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonNetworkRegistrationChange::RegistrationStatus +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CConnMonNetworkRegistrationChange::RegistrationStatus() const + { + return iRegistrationStatus; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonBearerChange::CConnMonBearerChange +// ----------------------------------------------------------------------------- +// +CConnMonBearerChange::CConnMonBearerChange( + const TUint aConnectionId, + const TInt aBearer ) + : + CConnMonEventBase( EConnMonBearerChange, aConnectionId ) + { + iBearer = aBearer; + } + +// Destructor +CConnMonBearerChange::~CConnMonBearerChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonBearerChange::RegistrationStatus +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CConnMonBearerChange::Bearer() const + { + return iBearer; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonSignalStrengthChange::CConnMonSignalStrengthChange +// ----------------------------------------------------------------------------- +// +CConnMonSignalStrengthChange::CConnMonSignalStrengthChange( + const TUint aConnectionId, + const TInt aSignalStrength ) + : + CConnMonEventBase( EConnMonSignalStrengthChange, aConnectionId ) + { + iSignalStrength = aSignalStrength; + } + +// Destructor +CConnMonSignalStrengthChange::~CConnMonSignalStrengthChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonSignalStrengthChange::SignalStrength +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CConnMonSignalStrengthChange::SignalStrength() const + { + return iSignalStrength; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonBearerAvailabilityChange::CConnMonBearerAvailabilityChange +// ----------------------------------------------------------------------------- +// +CConnMonBearerAvailabilityChange::CConnMonBearerAvailabilityChange( + const TUint aConnectionId, + const TBool aAvailability ) + : + CConnMonEventBase( EConnMonBearerAvailabilityChange, aConnectionId ) + { + iAvailability = aAvailability; + } + +// Destructor +CConnMonBearerAvailabilityChange::~CConnMonBearerAvailabilityChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonBearerAvailabilityChange::Availability +// ----------------------------------------------------------------------------- +// +EXPORT_C TBool CConnMonBearerAvailabilityChange::Availability() const + { + return iAvailability; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonGenericEvent::CConnMonGenericEvent +// ----------------------------------------------------------------------------- +// +CConnMonGenericEvent::CConnMonGenericEvent( + const TUint aType, + const TUint aConnectionId, + TAny* aData ) + : + CConnMonEventBase( aType, aConnectionId ) + { + iData = aData; + } + +// Destructor +CConnMonGenericEvent::~CConnMonGenericEvent() + { + iData = 0; + } + +// ----------------------------------------------------------------------------- +// CConnMonGenericEvent::Data +// ----------------------------------------------------------------------------- +// +EXPORT_C TAny* CConnMonGenericEvent::Data() const + { + return iData; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonIapAvailabilityChange::CConnMonIapAvailabilityChange +// ----------------------------------------------------------------------------- +// +CConnMonIapAvailabilityChange::CConnMonIapAvailabilityChange( + const TUint aConnectionId, + const TConnMonIapInfo* aIapInfoPtr ) + : + CConnMonEventBase( EConnMonIapAvailabilityChange, aConnectionId ) + { + iIapInfo.iCount = 0; + + if ( aIapInfoPtr ) + { + iIapInfo = *aIapInfoPtr; + } + } + +// Destructor +CConnMonIapAvailabilityChange::~CConnMonIapAvailabilityChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonIapAvailabilityChange::IapAvailability +// ----------------------------------------------------------------------------- +// +EXPORT_C TConnMonIapInfo CConnMonIapAvailabilityChange::IapAvailability() const + { + return iIapInfo; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonTransmitPowerChange::CConnMonTransmitPowerChange +// ----------------------------------------------------------------------------- +// +CConnMonTransmitPowerChange::CConnMonTransmitPowerChange( + const TUint aConnectionId, + const TUint aTransmitPower ) + : + CConnMonEventBase( EConnMonTransmitPowerChange, aConnectionId ) + { + iTransmitPower = aTransmitPower; + } + +// Destructor +CConnMonTransmitPowerChange::~CConnMonTransmitPowerChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonTransmitPowerChange::TransmitPower +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonTransmitPowerChange::TransmitPower() const + { + return iTransmitPower; + } + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CConnMonSNAPAvailabilityChange::CConnMonSNAPAvailabilityChange +// ----------------------------------------------------------------------------- +// +CConnMonSNAPsAvailabilityChange::CConnMonSNAPsAvailabilityChange( + const TUint aConnectionId, + const TUint aSNAPsAvailable, + const TConnMonSNAPInfo* aSNAPInfoPtr ) + : + CConnMonEventBase( EConnMonSNAPsAvailabilityChange, aConnectionId ) + { + + iSNAPInfo.iCount = 0; + iSNAPsAvailable = aSNAPsAvailable; + + if ( aSNAPInfoPtr ) + { + iSNAPInfo = *aSNAPInfoPtr; + } + } + +// Destructor +CConnMonSNAPsAvailabilityChange::~CConnMonSNAPsAvailabilityChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonSNAPAvailabilityChange::SNAPAvailability +// ----------------------------------------------------------------------------- +// +EXPORT_C TConnMonSNAPInfo CConnMonSNAPsAvailabilityChange::SNAPAvailability() const + { + return iSNAPInfo; + } + +// ----------------------------------------------------------------------------- +// CConnMonSNAPAvailabilityChange::SNAPsAvailable +// ----------------------------------------------------------------------------- +// +EXPORT_C TUint CConnMonSNAPsAvailabilityChange::SNAPsAvailabile() const + { + return iSNAPsAvailable; + } + +// ----------------------------------------------------------------------------- +// CConnMonNewWLANNetworkDetected::CConnMonNewWLANNetworkDetected +// ----------------------------------------------------------------------------- +// + +CConnMonNewWLANNetworkDetected::CConnMonNewWLANNetworkDetected( + const TUint aConnectionId ) + : + CConnMonEventBase( EConnMonNewWLANNetworkDetected, aConnectionId ) + { + } + +// Destructor +CConnMonNewWLANNetworkDetected::~CConnMonNewWLANNetworkDetected() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonNewWLANNetworkDetected::CConnMonNewWLANNetworkDetected +// ----------------------------------------------------------------------------- +// +CConnMonOldWLANNetworkLost::CConnMonOldWLANNetworkLost( + const TUint aConnectionId ) + : + CConnMonEventBase( EConnMonOldWLANNetworkLost, aConnectionId ) + { + } + +// Destructor +CConnMonOldWLANNetworkLost::~CConnMonOldWLANNetworkLost() + { + } + + +// ----------------------------------------------------------------------------- +// CConnMonPacketDataUnavailable::CConnMonPacketDataUnavailable +// ----------------------------------------------------------------------------- +// +CConnMonPacketDataUnavailable::CConnMonPacketDataUnavailable( + const TUint aConnectionId ) + : + CConnMonEventBase( EConnMonPacketDataUnavailable, aConnectionId ) + { + } + +// ----------------------------------------------------------------------------- +// CConnMonPacketDataUnavailable::~CConnMonPacketDataUnavailable +// ----------------------------------------------------------------------------- +// +CConnMonPacketDataUnavailable::~CConnMonPacketDataUnavailable() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonPacketDataAvailable::CConnMonPacketDataAvailable +// ----------------------------------------------------------------------------- +// +CConnMonPacketDataAvailable::CConnMonPacketDataAvailable( + const TUint aConnectionId ) + : + CConnMonEventBase( EConnMonPacketDataAvailable, aConnectionId ) + { + } + +// ----------------------------------------------------------------------------- +// CConnMonPacketDataAvailable::~CConnMonPacketDataAvailable +// ----------------------------------------------------------------------------- +// +CConnMonPacketDataAvailable::~CConnMonPacketDataAvailable() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonBearerGroupChange::CConnMonBearerInfoChange +// ----------------------------------------------------------------------------- +// +CConnMonBearerInfoChange::CConnMonBearerInfoChange( + const TUint aConnectionId, + const TInt aBearerInfo ) + : + CConnMonEventBase( EConnMonBearerInfoChange, aConnectionId ) + { + iBearerInfo = aBearerInfo; + } + +// ----------------------------------------------------------------------------- +// CConnMonBearerGroupChange::~CConnMonBearerInfoChange +// ----------------------------------------------------------------------------- +// +CConnMonBearerInfoChange::~CConnMonBearerInfoChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonBearerGroupChange::BearerGroups +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CConnMonBearerInfoChange::BearerInfo() const + { + return iBearerInfo; + } + +// ----------------------------------------------------------------------------- +// CConnMonBearerGroupChange::CConnMonBearerGroupChange +// ----------------------------------------------------------------------------- +// +CConnMonBearerGroupChange::CConnMonBearerGroupChange( + const TUint aConnectionId, + const TUint aBearerGroups1, + const TUint aBearerGroups2, + const TBool aInternal ) + : + CConnMonEventBase( EConnMonBearerGroupChange, aConnectionId ) + { + iInternal = aInternal; + iBearerGroups1 = aBearerGroups1; + iBearerGroups2 = aBearerGroups2; + } + +// ----------------------------------------------------------------------------- +// CConnMonBearerGroupChange::~CConnMonBearerGroupChange +// ----------------------------------------------------------------------------- +// +CConnMonBearerGroupChange::~CConnMonBearerGroupChange() + { + } + +// ----------------------------------------------------------------------------- +// CConnMonBearerGroupChange::BearerGroups +// ----------------------------------------------------------------------------- +// +EXPORT_C TBool CConnMonBearerGroupChange::Internal() const + { + return iInternal; + } + +// ----------------------------------------------------------------------------- +// CConnMonBearerGroupChange::BearerGroups +// ----------------------------------------------------------------------------- +// +EXPORT_C void CConnMonBearerGroupChange::BearerGroups( + TUint& aBearerGroups1, + TUint& aBearerGroups2 ) const + { + aBearerGroups1 = iBearerGroups1; + aBearerGroups2 = iBearerGroups2; + } + +// End-of-file