diff -r fc7b30ed2058 -r 05bc53fe583b cmmanager/cmmgr/cmmapi/src/cmdestinationwrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cmmanager/cmmgr/cmmapi/src/cmdestinationwrapper.cpp Tue Aug 31 15:35:44 2010 +0300 @@ -0,0 +1,455 @@ +/* +* Copyright (c) 2009-2010 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: +* Collects API calls from RCmDestination- and RCmDestinationExt-classes. +* +*/ + + +#include "cmdestinationwrapper.h" +#include "cmmanagerapi.h" + +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "cmdestinationwrapperTraces.h" +#endif + + +CCmDestinationWrapper* CCmDestinationWrapper::NewL() + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_NEWL_ENTRY ); + + CCmDestinationWrapper* self = CCmDestinationWrapper::NewLC(); + CleanupStack::Pop( self ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_NEWL_EXIT ); + return self; + } + +CCmDestinationWrapper* CCmDestinationWrapper::NewLC() + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_NEWLC_ENTRY ); + + CCmDestinationWrapper* self = new (ELeave) CCmDestinationWrapper; + CleanupStack::PushL( self ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_NEWLC_EXIT ); + return self; + } + +CCmDestinationWrapper::~CCmDestinationWrapper() + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_CCMDESTINATIONWRAPPER_ENTRY ); + + iCmDestinationApi.Close(); + + if ( iCmManagerApi ) + { + iCmManagerApi->RemoveDestinationWrapper( this ); + iCmManagerApi = NULL; + } + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_CCMDESTINATIONWRAPPER_EXIT ); + } + +CCmDestinationWrapper::CCmDestinationWrapper() + { + OstTraceFunctionEntry0( DUP1_CCMDESTINATIONWRAPPER_CCMDESTINATIONWRAPPER_ENTRY ); + + iCmManagerApi = NULL; + iReferenceCounter = 1; + + OstTraceFunctionExit0( DUP1_CCMDESTINATIONWRAPPER_CCMDESTINATIONWRAPPER_EXIT ); + } + +void CCmDestinationWrapper::GetDestWithIdL( + RCmManagerApi* aCmManagerApi, + const TUint32 aId, + TInt& aExistingHandle ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_GETDESTWITHIDL_ENTRY ); + + if ( iCmManagerApi || iCmDestinationApi.SessionConnected() ) + { + User::Leave( KErrAlreadyExists ); + } + + iCmManagerApi = aCmManagerApi; + iCmDestinationApi.ConnectAndGetDestWithIdL( *aCmManagerApi, aId, aExistingHandle ); + if ( !aExistingHandle ) + { + iCmManagerApi->StoreDestinationWrapper( this ); + } + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_GETDESTWITHIDL_EXIT ); + } + +void CCmDestinationWrapper::CreateDestByNameL( + RCmManagerApi* aCmManagerApi, + const TDesC& aName ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_CREATEDESTBYNAMEL_ENTRY ); + + if ( iCmManagerApi || iCmDestinationApi.SessionConnected() ) + { + User::Leave( KErrAlreadyExists ); + } + + iCmManagerApi = aCmManagerApi; + iCmDestinationApi.ConnectAndCreateDestWithNameL( *aCmManagerApi, aName ); + iCmManagerApi->StoreDestinationWrapper( this ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_CREATEDESTBYNAMEL_EXIT ); + } + +void CCmDestinationWrapper::CreateDestByNameAndIdL( + RCmManagerApi* aCmManagerApi, + const TDesC& aName, + const TUint32 aId ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_CREATEDESTBYNAMEANDIDL_ENTRY ); + + if ( iCmManagerApi || iCmDestinationApi.SessionConnected() ) + { + User::Leave( KErrAlreadyExists ); + } + + iCmManagerApi = aCmManagerApi; + iCmDestinationApi.ConnectAndCreateDestWithNameAndIdL( *aCmManagerApi, aName, aId ); + iCmManagerApi->StoreDestinationWrapper( this ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_CREATEDESTBYNAMEANDIDL_EXIT ); + } + +void CCmDestinationWrapper::GetConnMethodAsEmbeddedDestL( + RCmManagerApi* aCmManagerApi, + const TInt aConnMethodHandle, + TInt& aExistingHandle ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_GETCONNMETHODASEMBEDDEDDESTL_ENTRY ); + + if ( iCmManagerApi || iCmDestinationApi.SessionConnected() ) + { + User::Leave( KErrAlreadyExists ); + } + + iCmManagerApi = aCmManagerApi; + iCmDestinationApi.ConnectAndGetConnMethodAsEmbeddedDestL( + *aCmManagerApi, + aConnMethodHandle, + aExistingHandle ); + if ( !aExistingHandle ) + { + iCmManagerApi->StoreDestinationWrapper( this ); + } + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_GETCONNMETHODASEMBEDDEDDESTL_EXIT ); + } + +TInt CCmDestinationWrapper::ConnectionMethodCount( TInt& aCount ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_CONNECTIONMETHODCOUNT_ENTRY ); + + TInt err = iCmDestinationApi.ConnectionMethodCount( aCount ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_CONNECTIONMETHODCOUNT_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::Priority( const TInt aHandle, TUint& aPriority ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_PRIORITY_ENTRY ); + + TInt err = iCmDestinationApi.Priority( aHandle, aPriority ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_PRIORITY_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::GetName( HBufC* aBuffer ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_GETNAME_ENTRY ); + + TInt err = iCmDestinationApi.GetName( aBuffer ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_GETNAME_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::GetId( TUint32& aId ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_GETID_ENTRY ); + + TInt err = iCmDestinationApi.GetId( aId ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_GETID_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::GetElementId( TUint32& aElementId ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_GETELEMENTID_ENTRY ); + + TInt err = iCmDestinationApi.GetElementId( aElementId ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_GETELEMENTID_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::GetMetadata( + const TUint32 aMetadataField, + TUint32& aValue ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_GETMETADATA_ENTRY ); + + TInt err = iCmDestinationApi.GetMetadata( aMetadataField, aValue ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_GETMETADATA_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::GetProtectionLevel( TInt& aProtectionLevel ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_GETPROTECTIONLEVEL_ENTRY ); + + TInt err = iCmDestinationApi.GetProtectionLevel( aProtectionLevel ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_GETPROTECTIONLEVEL_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::AddConnectionMethod( + const TInt aConnMethodHandle, + TInt& aIndex ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_ADDCONNECTIONMETHOD_ENTRY ); + + TInt err = iCmDestinationApi.AddConnectionMethod( aConnMethodHandle, aIndex ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_ADDCONNECTIONMETHOD_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::AddEmbeddedDestination( + const TInt aDestHandle, + TInt& aIndex ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_ADDEMBEDDEDDESTINATION_ENTRY ); + + TInt err = iCmDestinationApi.AddEmbeddedDestination( aDestHandle, aIndex ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_ADDEMBEDDEDDESTINATION_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::DeleteConnectionMethod( + const TInt aConnMethodHandle ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_DELETECONNECTIONMETHOD_ENTRY ); + + TInt err = iCmDestinationApi.DeleteConnectionMethod( aConnMethodHandle ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_DELETECONNECTIONMETHOD_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::RemoveConnectionMethod( + const TInt aConnMethodHandle ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_REMOVECONNECTIONMETHOD_ENTRY ); + + TInt err = iCmDestinationApi.RemoveConnectionMethod( aConnMethodHandle ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_REMOVECONNECTIONMETHOD_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::ModifyPriority( + const TInt aConnMethodHandle, + const TUint aIndex ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_MODIFYPRIORITY_ENTRY ); + + TInt err = iCmDestinationApi.ModifyPriority( aConnMethodHandle, aIndex ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_MODIFYPRIORITY_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::SetName( const TDesC& aValue ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_SETNAME_ENTRY ); + + TInt err = iCmDestinationApi.SetName( aValue ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_SETNAME_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::SetMetadata( + const TUint32 aMetaField, + const TUint32 aValue ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_SETMETADATA_ENTRY ); + + TInt err = iCmDestinationApi.SetMetadata( aMetaField, aValue ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_SETMETADATA_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::SetProtection( const TInt aValue ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_SETPROTECTION_ENTRY ); + + TInt err = iCmDestinationApi.SetProtection( aValue ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_SETPROTECTION_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::SetHidden( const TBool aHidden ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_SETHIDDEN_ENTRY ); + + TInt err = iCmDestinationApi.SetHidden( aHidden ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_SETHIDDEN_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::Update() + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_UPDATE_ENTRY ); + + TInt err = iCmDestinationApi.Update(); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_UPDATE_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::Refresh() + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_REFRESH_ENTRY ); + + TInt err = iCmDestinationApi.Refresh(); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_REFRESH_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::Delete() + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_DELETE_ENTRY ); + + TInt err = iCmDestinationApi.Delete(); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_DELETE_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::IsConnected( TBool& aResult ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_ISCONNECTED_ENTRY ); + + TInt err = iCmDestinationApi.IsConnected( aResult ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_ISCONNECTED_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::IsHidden( TBool& aResult ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_ISHIDDEN_ENTRY ); + + TInt err = iCmDestinationApi.IsHidden( aResult ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_ISHIDDEN_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::IsEqual( const TInt aHandle, TBool& aResult ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_ISEQUAL_ENTRY ); + + TInt err = iCmDestinationApi.IsEqual( aHandle, aResult ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_ISEQUAL_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::GetIcon( HBufC* aBuffer ) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_GETICON_ENTRY ); + + TInt err = iCmDestinationApi.GetIcon( aBuffer ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_GETICON_EXIT ); + return err; + } + +TInt CCmDestinationWrapper::SetIcon( const TDesC& aValue) + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_SETICON_ENTRY ); + + TInt err = iCmDestinationApi.SetIcon( aValue ); + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_SETICON_EXIT ); + return err; + } + +TBool CCmDestinationWrapper::SessionConnected() + { + return iCmDestinationApi.SessionConnected(); + } + +void CCmDestinationWrapper::CloseSession() + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_CLOSESESSION_ENTRY ); + iCmDestinationApi.Close(); + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_CLOSESESSION_EXIT ); + } + +TInt CCmDestinationWrapper::GetHandle() const + { + return iCmDestinationApi.SubSessionHandle(); + } + +RCmManagerApi* CCmDestinationWrapper::GetMainSession() const + { + return iCmManagerApi; + } + +void CCmDestinationWrapper::IncreaseReferenceCounter() + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_INCREASEREFERENCECOUNTER_ENTRY ); + iReferenceCounter++; + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_INCREASEREFERENCECOUNTER_EXIT ); + } + +TInt CCmDestinationWrapper::DecreaseReferenceCounter() + { + OstTraceFunctionEntry0( CCMDESTINATIONWRAPPER_DECREASEREFERENCECOUNTER_ENTRY ); + + iReferenceCounter--; + if ( iReferenceCounter < 0 ) + { + iReferenceCounter = 0; + } + + OstTraceFunctionExit0( CCMDESTINATIONWRAPPER_DECREASEREFERENCECOUNTER_EXIT ); + return iReferenceCounter; + } + +// End of file