telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmmessagemanagerbase.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmmessagemanagerbase.h	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,211 @@
+/*
+* 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:
+*
+*/
+
+
+
+#ifndef CMMMESSAGEMANAGERBASE_H
+#define CMMMESSAGEMANAGERBASE_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
+#include <ctsy/pluginapi/cmmdatapackage.h>
+#include "cmmmessagerouterproxy.h"
+#include <ctsy/pluginapi/mmessagerouter.h>
+
+// FORWARD DECLARATIONS
+class CMmPhoneTsy;
+class CTsyDelegates;
+
+// CLASS DECLARATION
+
+/**
+ *  Forwards Tsy requests from Symbian OS to Domestic OS
+ */
+class CMmMessageManagerBase : public CBase
+    {
+    public:
+        
+        /** TTsyObjects */
+       enum TTsyObjects
+            {
+            EPhoneTsy,
+            ELineTsy,
+            ECallTsy,
+            EFaxTsy,
+            ESmsMessagingTsy,
+            EBroadcastMessagingTsy,
+            EUssdMessagingTsy,
+            EPhoneStoreTsy,
+            ESmsStoreTsy,
+            ENamStoreTsy,
+            EONStoreTsy,
+            EENStoreTsy,
+            EPhoneBookStoreTsy,
+            EConferenceCallTsy,
+            EPacketDataTsy,
+            ESatTsy,
+            ECustomTsy,
+            EDtmfTsy,
+            ESecurityTsy,
+            //ECustomExtTsy
+
+            EMaxNumOfTsyObjects
+            };
+            
+    public:  // Constructors and destructor
+        
+        /**
+         * Creates a new CMmMessageManagerBase object
+         *
+         *
+         * @return reference to created CMmMessageManagerBase type of object
+         */
+        IMPORT_C static CMmMessageManagerBase* NewL();
+
+        /**
+         * Destructor
+         */
+        virtual ~CMmMessageManagerBase();
+
+        /**
+         * Creates and initialises class attributes
+         */
+        void ConstructL();
+        
+        /**
+         * Stores Phonetsy pointer
+         *          
+         *
+         * @param aMmPhone pointer to Phonetsy
+         */
+        IMPORT_C void SetPhoneTsy( CMmPhoneTsy* aMmPhone );
+        
+        /**
+         * Returns pointer to messagemanagercallback
+         *
+         *
+         * @return pointer to messagemanagercallback object 
+         */
+        IMPORT_C MmMessageManagerCallback* GetMessageManagerCallback();
+
+    public:  // New functions
+    
+        /**
+         * Forwards a request to DOS layer, request doesn't contain data
+         *          
+         *
+         * @param aIpc
+         * @return error value
+         */
+        virtual TInt HandleRequestL( 
+            const TInt aIpc );
+
+        /**
+         * Forwards a request to DOS layer, request contains 
+         * packaged data by Common TSY
+         *          
+         *
+         * @param aIpc
+         * @param aDataPackage
+         * @return error value
+         */
+        virtual TInt HandleRequestL( 
+            const TInt aIpc,
+            const CMmDataPackage* aDataPackage );
+
+        /**
+         * Forwards a request to DOS layer, request contains 
+         * packaged data by Etel Server.
+         *          
+         *
+         * @param aIpc
+         * @param aDataPackage
+         * @return error value
+         */
+        virtual TInt HandleRequestL(    
+            const TInt aIpc,
+            const TDataPackage* aDataPackage );
+
+        /**
+         * Registers a Tsy object for request and notification completions
+         *          
+         *
+         * @param aTsyObjectType
+         * @param aTsyObject
+         */
+        virtual void RegisterTsyObject( TTsyObjects aTsyObjectType, 
+            CBase* aTsyObject );
+
+        /**
+         * Deregisters a Tsy object for request and notification completions
+         *          
+         *
+         * @param aTsyObject
+         */
+        virtual void DeregisterTsyObject( CBase* aTsyObject );
+
+        /** 
+         * Sets the message router object
+         *              
+         *
+         * @param aMessageRouter
+         */
+        IMPORT_C void SetMessageRouter( MMessageRouter* aMessageRouter );
+        
+    private:
+
+        /**
+         * C++ default constructor.
+         */
+        CMmMessageManagerBase();
+
+    protected:  // Data
+
+        /**
+         * writing package for Handlers 
+         */              
+        CMmDataPackage iDataPackage;
+        
+        /** 
+         * Pointer to Messagerouter
+         * own
+         */         
+        CMmMessageRouterProxy* iMessageRouterProxy;
+        
+        /**
+         * Pointer to tsydelegates
+         * own
+         */
+         CTsyDelegates* iTsyDelgates;
+         
+        /**
+         * Pointer to phonetsy
+         * not own
+         */
+         CMmPhoneTsy* iMmPhone;
+         
+        /**
+         * Pointer to messagerouter
+         */
+         MMessageRouter* iMessageRouter;
+         
+    };
+    
+#endif // CMMMESSAGEMANAGERBASE_H
+
+//  End of file