diff -r 7b872347d83b -r 6d0b9f605b61 convergedconnectionhandler/cchclient/src/cchclient.cpp --- a/convergedconnectionhandler/cchclient/src/cchclient.cpp Tue Feb 02 00:05:57 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,460 +0,0 @@ -/* -* Copyright (c) 2006-2007 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: RCCHClient implementation -* -*/ - - -// INCLUDE FILES -#include "cchclient.h" -#include "cchlogger.h" -#include "cchclientserver.h" -#include "cchclientserverinternal.h" - -// EXTERNAL DATA STRUCTURES -// None - -// EXTERNAL FUNCTION PROTOTYPES -// None - -// CONSTANTS -// None - -// MACROS -// None - -// LOCAL CONSTANTS AND MACROS -// None - -// MODULE DATA STRUCTURES -// None - -// LOCAL FUNCTION PROTOTYPES -// None - -// FORWARD DECLARATIONS -// None - -// ============================= LOCAL FUNCTIONS ============================= - -// ============================ MEMBER FUNCTIONS ============================= - -// --------------------------------------------------------------------------- -// RCCHClient::RCCHClient -// C++ default constructor can NOT contain any code, that might leave. -// --------------------------------------------------------------------------- -// -EXPORT_C RCCHClient::RCCHClient() - { - // No implementation required - iService = NULL; - } - -EXPORT_C RCCHClient::~RCCHClient() - { - delete iService; - } - -// --------------------------------------------------------------------------- -// RCCHClient::Open -// Open subsession -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C TInt RCCHClient::Open( const RCCHServer& aRCCHServer ) - { - CCHLOGSTRING( "RCCHClient::Open" ); - return RSubSessionBase::CreateSubSession( - aRCCHServer, ECCHOpenSubSession ); - } - -// ----------------------------------------------------------------------------- -// RCCHClient::Close -// Close subsession -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::Close() - { - CCHLOGSTRING( "RCCHClient::Close" ); - RSubSessionBase::CloseSubSession( ECCHCloseSubSession ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::RegisterToServer -// Send register message to server. -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::RegisterToServer( TRequestStatus& aReqStatus ) const - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHServerRegister, args, aReqStatus ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::RegisterToServerCancel -// Cancel register server request -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::RegisterToServerCancel( ) const - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHServerRegisterCancel, args ); - } - - -// --------------------------------------------------------------------------- -// RCCHClient::SubscribeToEvents -// Subscribe to specific service events. -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::SubscribeToEvents( - const TServiceSelection& aServiceSelection, - TPckgBuf& aServiceStatus, - TRequestStatus& aReqStatus ) const - { - const TIpcArgs args( - aServiceSelection.iServiceId, aServiceSelection.iType, - &aServiceStatus ); - SendReceive( ECCHSubscribeToEvents, args, aReqStatus ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::SubscribeToEvents -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::SubscribeToEventsCancel() const - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHSubscribeToEventsCancel, args ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::GetServicesL -// Client queries for all services and sub-services. -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::GetServicesL( - CArrayFixFlat& aServices, - TRequestStatus& aReqStatus ) - { - TUint32 count( 0 ); - TPckgBuf countPckg( count ); - User::LeaveIfError( - SendReceive( ECCHServiceCount, TIpcArgs( - &countPckg, ECCHUnknown ) ) ); - - for ( TInt i( 0 ); i < countPckg(); i++ ) - { - TCCHService service; - aServices.AppendL( service ); - } - - if ( countPckg() ) - { - TUint32 length = countPckg() * sizeof( TCCHService ); - - if ( !iService ) - { - iService = new (ELeave) TPtr8( reinterpret_cast( - &aServices[ 0 ] ), length, length ); - } - else - { - iService->Set( reinterpret_cast( - &aServices[ 0 ] ), length, length ); - } - - const TIpcArgs args( KErrNotFound, ECCHUnknown, iService ); - SendReceive( ECCHGetServices, args, aReqStatus ); - } - else - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHGetServices, args, aReqStatus ); - } - } - -// --------------------------------------------------------------------------- -// RCCHClient::GetServicesL -// Get services which contains this type of sub-services -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::GetServicesL( - const TServiceSelection& aServiceSelection, - CArrayFixFlat& aServices, - TRequestStatus& aReqStatus ) - { - TUint32 count( 0 ); - TPckgBuf countPckg( count ); - - // If some Service has selected Service count must be one, - // otherwise we have to ask how many Services is enough - if ( aServiceSelection.iServiceId != 0 ) - { - countPckg = 1; - } - else - { - User::LeaveIfError( - SendReceive( ECCHServiceCount, TIpcArgs( &countPckg, - aServiceSelection.iType ) ) ); - } - - for ( TInt i( 0 ); i < countPckg(); i++ ) - { - TCCHService service; - aServices.AppendL( service ); - } - - if ( countPckg() ) - { - TUint32 length = countPckg() * sizeof( TCCHService ); - - if ( !iService ) - { - iService = new (ELeave) TPtr8( reinterpret_cast( - &aServices[ 0 ] ), length, length ); - } - else - { - iService->Set( reinterpret_cast( - &aServices[ 0 ] ), length, length ); - } - - const TIpcArgs args( aServiceSelection.iServiceId, - aServiceSelection.iType, - iService ); - SendReceive( ECCHGetServices, args, aReqStatus ); - } - else - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHGetServices, args, aReqStatus ); - } - } - -// --------------------------------------------------------------------------- -// RCCHClient::GetServicesCancel -// Cancel get services request -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::GetServicesCancel() const - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHGetServicesCancel, args ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::GetServiceState -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C TInt RCCHClient::GetServiceState( - const TServiceSelection& aServiceSelection, - TCCHSubserviceState& aState ) const - { - TPckgBuf statePckg( aState ); - const TIpcArgs args( - aServiceSelection.iServiceId, aServiceSelection.iType, &statePckg ); - TInt error = SendReceive( ECCHGetServiceState, args ); - aState = statePckg(); - return error; - } - -// --------------------------------------------------------------------------- -// RCCHClient::EnableService -// Enable services. All sub-services under the service are enabled. -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::EnableService( - const TServiceSelection& aServiceSelection, - TRequestStatus& aReqStatus, - TBool aConnectivityCheck ) const - { - const TIpcArgs args( - aServiceSelection.iServiceId, aServiceSelection.iType, - aConnectivityCheck ); - SendReceive( ECCHEnableService, args, aReqStatus ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::EnableServiceCancel -// Cancels enable services request. -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::EnableServiceCancel() const - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHEnableServiceCancel, args ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::DisableService -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::DisableService( - const TServiceSelection& aServiceSelection, - TRequestStatus& aReqStatus ) const - { - const TIpcArgs args( - aServiceSelection.iServiceId, aServiceSelection.iType ); - SendReceive( ECCHDisableService, args, aReqStatus ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::DisableServiceCancel -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::DisableServiceCancel() const - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHDisableServiceCancel, args ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::GetServiceInfo -// Get service specifics information about service and protocol -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C TInt RCCHClient::GetServiceInfo( - const TServiceSelection& aServiceSelection, - TDes& aBuffer ) const - { - TPckgBuf serviceConnInfoPckg; - serviceConnInfoPckg().SetServiceId( aServiceSelection.iServiceId ); - serviceConnInfoPckg().SetType( aServiceSelection.iType ); - serviceConnInfoPckg().SetParameter( aServiceSelection.iParameter ); - - // only service id, type and parameter values are used from - // TServiceConnectionInfo - const TIpcArgs args( &serviceConnInfoPckg, &aBuffer ); - return SendReceive( ECCHGetServiceInfo, args ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::SetConnectionInfo -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::SetConnectionInfo( - const TPckgBuf& aServiceConnInfo, - TRequestStatus& aReqStatus ) - { - const TIpcArgs args( &aServiceConnInfo ); - SendReceive( ECCHSetConnectionInfo, args, aReqStatus ); - } - -// ----------------------------------------------------------------------------- -// RCCHClient::SetConnectionInfoCancel -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// -EXPORT_C void RCCHClient::SetConnectionInfoCancel() const - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHSetConnectionInfoCancel, args ); - } - -// ----------------------------------------------------------------------------- -// RCCHClient::GetConnectionInfo -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// - -EXPORT_C void RCCHClient::GetConnectionInfo( - const TServiceSelection& aServiceSelection, - TPckgBuf& aServiceConnInfo, - TRequestStatus& aReqStatus ) const - { - aServiceConnInfo().SetServiceId( aServiceSelection.iServiceId ); - aServiceConnInfo().SetType( aServiceSelection.iType ); - aServiceConnInfo().SetParameter( aServiceSelection.iParameter ); - // only service id, type and parameter values are used from - // TServiceConnectionInfo - const TIpcArgs args( &aServiceConnInfo ); - SendReceive( ECCHGetConnectionInfo, args, aReqStatus ); - } - -// ----------------------------------------------------------------------------- -// RCCHClient::GetConnectionInfoCancel -// (other items were commented in a header). -// ----------------------------------------------------------------------------- -// - -EXPORT_C void RCCHClient::GetConnectionInfoCancel() const - { - const TIpcArgs args( TIpcArgs::ENothing ); - SendReceive( ECCHGetConnectionInfoCancel, args ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::ReserveService -// Reserves the service for exclusive use -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C TInt RCCHClient::ReserveService( - const TServiceSelection& aServiceSelection ) - { - const TIpcArgs args( - aServiceSelection.iServiceId, aServiceSelection.iType ); - return SendReceive( ECCHReserveService, args ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::FreeService -// Frees the exclusive service reservation -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C TInt RCCHClient::FreeService( - const TServiceSelection& aServiceSelection ) - { - const TIpcArgs args( - aServiceSelection.iServiceId, aServiceSelection.iType ); - return SendReceive( ECCHFreeService, args ); - } - -// --------------------------------------------------------------------------- -// RCCHClient::IsReserved -// Returns true if the service is reserved for exclusive use -// (other items were commented in a header). -// --------------------------------------------------------------------------- -// -EXPORT_C TBool RCCHClient::IsReserved( - const TServiceSelection& aServiceSelection ) const - { - TPckgBuf reserved; - const TIpcArgs args( - aServiceSelection.iServiceId, aServiceSelection.iType,&reserved ); - SendReceive( ECCHIsReserved, args ); - return reserved(); - } - -// ========================== OTHER EXPORTED FUNCTIONS ========================= - -// End of File