diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/simatktsy/src/cmmmessagemanagerbase.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/simatktsy/src/cmmmessagemanagerbase.cpp Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,159 @@ +// 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 "tflogger.h" +#include "ctsydelegates.h" +#include "csatmessagerouterproxy.h" +#include + +// ======== MEMBER FUNCTIONS ======== + +CMmMessageManagerBase* CMmMessageManagerBase::NewL(MMessageRouter& aMessageRouter) + { + CMmMessageManagerBase* messageManager = new ( ELeave ) CMmMessageManagerBase(aMessageRouter); + 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(MMessageRouter& aMessageRouter) + : iMessageRouter (aMessageRouter) + { + } + +void CMmMessageManagerBase::ConstructL() + { + //Create instances + iTsyDelgates = CTsyDelegates::NewL(); + iMessageRouterProxy = CSatMessageRouterProxy::NewL( *iTsyDelgates ); + } + + +// --------------------------------------------------------------------------- +// 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). +// --------------------------------------------------------------------------- +// +MmMessageManagerCallback* + CMmMessageManagerBase::GetMessageManagerCallback() + { + return iMessageRouterProxy; + } + + + + +// End of File +