diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/simatktsy/inc/csatmessagerouterproxy.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/simatktsy/inc/csatmessagerouterproxy.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,168 @@ +/* +* 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: +* Name : csatmessagerouterproxy.h +* Part of : Common TSY / commonsimatktsy +* Interface : Internal, Common TSY Plugin API +* Routes between Tsy objects and Message Handler objects +* Version : 1.0 +* +*/ + + + +#ifndef CSATMESSAGEROUTERBASE_H +#define CSATMESSAGEROUTERBASE_H + + +// INCLUDES +#include +#include "cmmmessagemanagerbase.h" + +//#include "CMmMessageRouterBase.h" + +#include + +// FORWARD DECLARATIONS +class MMmMessHandlerBase; +class CSatDataPackage; +class CMmPhoneTsy; +class CMmMessageManager; +class CMmPhoNetSender; +class CMmPhoNetReceiver; +class CTsyDelegates; + +/** +* Routes between Tsy objects and Message Handler objects +* +* @lib (CommonSimAtkTsy) +* @since 3.1 +*/ +class CSatMessageRouterProxy : public CBase, public MmMessageManagerCallback + { + + // public methods + public: + + /** + * Creates a new CSatMessageRouterBase object + * @param aMessageManager: Pointer to the message manager object + * @param aRouter: Pointer to the CommonTsy routerbase object + * @return reference to created CSatMessageRouterBase type of object + */ + static CSatMessageRouterProxy* NewL( + CTsyDelegates& aTsyDelegates ); + + /** + * Destructor + */ + virtual ~CSatMessageRouterProxy( void ); + + protected: + + /** + * C++ Default constructor + * @param aRouter: Pointer to the CommonTsy routerbase object + */ + CSatMessageRouterProxy(CTsyDelegates& aTsyDelegates ); + + private: // Constructors + + /** + * Class attributes are created in ConstructL + */ + void ConstructL( void ); + + public: + + /** + * Returns pointer to the message handler for this + * request, based on IPC number + * @param aIpc: Request IPC + * @return Message handler objact + */ + virtual MMmMessHandlerBase* RouteRequest( TInt /*aIpc*/ ); + + /** + * Completes a request or notification via the specific Tsy object, + * based on IPC number and data package + * @param aIpc: Request IPC number + * @param aDataPackage: The data needed for the request + * @param aResult: Possible error value + */ + virtual void RouteCompletion( TInt aIpc, + CSatDataPackage* aDataPackage, TInt aResult ); + + /** + * Completes requests from LTSY + * + * + * @param aIpc Ipc of request + * @param aDataPackage Data from LTSY + * @param aResult Result value + */ + void Complete( TInt aIpc, CMmDataPackage* aData, TInt aResult ); + + /** + * Completes requests from LTSY + * + * + * @param aIpc Ipc of request + * @param aResult Result value + */ + void Complete( TInt aIpc, TInt aResult ); + + + // private methods + private: + + /** + * Returns the pointer to the Tsy object needed for completion, based + * on the IPC number and the data package + * @param aIpc: Request IPC number + * @param aDataPackage: Data package + * @return Tsy object + */ + CBase* GetObjectForCompletion( const TInt aIpc, + CSatDataPackage* aDataPackage ); + + /** + * Returns the type of Tsy object needed for completion, based + * on the IPC number + * @param aIpc: Request IPC + * @return Type of object + */ + CMmMessageManagerBase::TTsyObjects GetTsyObjectFromIpc( + const TInt aIpc ) const; + + /** + * Completes a request or notification via the specific Tsy object, + * based on IPC number and data package + * @param aIpc: Request IPC number + * @param aDataPackage: The data needed for the request + * @param aResult + */ + void RouteCompletionL( TInt aIpc, CSatDataPackage* aDataPackage, + TInt aResult ); + + private: // Data unowned + + CTsyDelegates& iTsyDelegates; + + }; + + +#endif // CSatMessageRouterBase_H + +// End of file