diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmmessagemanagerbase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmmessagemanagerbase.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,185 @@ +// Copyright (c) 2006-2009 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: +// + + + +// INCLUDE FILES +#include "cmmmessagemanagerbase.h" +#include +#include "ctsydelegates.h" + +// ======== MEMBER FUNCTIONS ======== + +EXPORT_C CMmMessageManagerBase* CMmMessageManagerBase::NewL() + { + CMmMessageManagerBase* messageManager = NULL; + messageManager = new ( ELeave ) CMmMessageManagerBase(); + CleanupStack::PushL( messageManager ); + messageManager->ConstructL(); + CleanupStack::Pop(); + return messageManager; + } + +CMmMessageManagerBase::~CMmMessageManagerBase() + { + // instance was created in this object, so we delete it here + if ( iTsyDelgates ) + { + delete iTsyDelgates; + } + iTsyDelgates = NULL; + + if ( iMessageRouterProxy ) + { + delete iMessageRouterProxy; + } + iMessageRouterProxy = NULL; + } + +CMmMessageManagerBase::CMmMessageManagerBase() + { + } + +void CMmMessageManagerBase::ConstructL() + { + //Create instances + iTsyDelgates = CTsyDelegates::NewL(); + iMessageRouterProxy = CMmMessageRouterProxy::NewL( *iTsyDelgates ); + } + +// --------------------------------------------------------------------------- +// CMmMessageManagerBase::SetPhoneTsy +// Set phone Tsy object +// (other items were commented in a header). +// --------------------------------------------------------------------------- +EXPORT_C void CMmMessageManagerBase::SetPhoneTsy( CMmPhoneTsy* aMmPhone ) + { +TFLOGSTRING2("TSY: CMmMessageManagerBase::SetPhoneTsy : Phone=0x%x", aMmPhone ); + iMmPhone = aMmPhone; + + if( iMessageRouterProxy ) + { + iMessageRouterProxy->SetPhoneTsy( iMmPhone ); + } + } +// --------------------------------------------------------------------------- +// CMmMessageManagerBase::HandleRequestL +// Forwards a request to DOS layer +// (other items were commented in a header). +// --------------------------------------------------------------------------- +// +TInt CMmMessageManagerBase::HandleRequestL( + const TInt aIpc ) + { +TFLOGSTRING2("TSY: CMmMessageManagerBase::HandleRequestL. IPC = %d", aIpc ); + return HandleRequestL( + aIpc, REINTERPRET_CAST( const CMmDataPackage*, NULL ) ); + } + +// --------------------------------------------------------------------------- +// CMmMessageManagerBase::HandleRequestL +// Forwards a request to DOS layer +// (other items were commented in a header). +// --------------------------------------------------------------------------- +// +TInt CMmMessageManagerBase::HandleRequestL( + const TInt aIpc, + const CMmDataPackage* aDataPackage ) + { +TFLOGSTRING2("TSY: CMmMessageManagerBase::HandleRequestL. IPC = %d", aIpc ); + + return iMessageRouter->ExtFuncL( aIpc, aDataPackage ); + } + +// --------------------------------------------------------------------------- +// CMmMessageManagerBase::HandleRequestL +// Forwards a request to DOS layer +// (other items were commented in a header). +// --------------------------------------------------------------------------- +// +TInt CMmMessageManagerBase::HandleRequestL( + const TInt aIpc, + const TDataPackage* aDataPackage ) + { +TFLOGSTRING2("TSY: CMmMessageManagerBase::HandleRequestL. IPC = %d", aIpc ); + + // map the TDataPackage into a CMmDataPackage + // Non-core Methods from the SOS layer using the DOS layer will perforn + // always this mapping. + // TSY core methods will call directly the overloaded HandleRequest method + // which uses a CMmDataPackage in the method's signature. + iDataPackage.SetPacketData ( aDataPackage ); + + //call the overloaded HandleRequest of CMmMessageManagerBase + return HandleRequestL( aIpc, &iDataPackage ); + } + +// --------------------------------------------------------------------------- +// CMmMessageManagerBase::RegisterTsyObject +// Registers a Tsy object for request and notification completions +// Stored in Tsy Delegates +// (other items were commented in a header). +// --------------------------------------------------------------------------- +// +void CMmMessageManagerBase::RegisterTsyObject( + TTsyObjects aTsyObjectType, + CBase* aTsyObject ) + { + iTsyDelgates->RegisterTsyObject( aTsyObjectType, aTsyObject ); + } + +// --------------------------------------------------------------------------- +// CMmMessageManagerBase::DeregisterTsyObject +// Remove registered Tsy object stored in Tsy Delegates +// (other items were commented in a header). +// --------------------------------------------------------------------------- +// +void CMmMessageManagerBase::DeregisterTsyObject( + CBase* aTsyObject ) + { + iTsyDelgates->DeregisterTsyObject( aTsyObject ); + } + +// --------------------------------------------------------------------------- +// CMmMessageManagerBase::GetMessageManagerCallback +// Return pointer to MessageManagerCallback object +// (other items were commented in a header). +// --------------------------------------------------------------------------- +// +EXPORT_C MmMessageManagerCallback* + CMmMessageManagerBase::GetMessageManagerCallback() + { + return iMessageRouterProxy; + } + + +// ======== OTHER EXPORTED FUNCTIONS ======== + +// --------------------------------------------------------------------------- +// CMmMessageManagerBase::SetMessageRouter +// Sets message router ptr. +// (other items were commented in a header) +// --------------------------------------------------------------------------- +// +EXPORT_C void CMmMessageManagerBase::SetMessageRouter( + MMessageRouter* aMessageRouter ) + { +TFLOGSTRING2("TSY: CMmMessageManagerBase::SetMessageRouter : MessageRouter=0x%x", aMessageRouter ); + iMessageRouter = aMessageRouter; + } + + +// End of File +