telephonyserverplugins/simatktsy/inc/csatmessagerouterproxy.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /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 <e32base.h>
+#include "cmmmessagemanagerbase.h"
+
+//#include "CMmMessageRouterBase.h"
+
+#include <ctsy/pluginapi/mmmessagemanagercallback.h>
+
+// 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