telephonyserverplugins/simatktsy/inc/cmmmessagemanagerbase.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 /*
       
     2 * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CMMSATMESSAGEMANAGERBASE_H
       
    21 #define CMMSATMESSAGEMANAGERBASE_H
       
    22 
       
    23 //  INCLUDES
       
    24 #include <e32base.h>
       
    25 #include <ctsy/serviceapi/mmtsy_ipcdefs.h>
       
    26 
       
    27 #include "CSatDataPackage.h"
       
    28 
       
    29 // FORWARD DECLARATIONS
       
    30 class CMmPhoneTsy;
       
    31 class CTsyDelegates;
       
    32 class CSatMessageRouterProxy;
       
    33 class MmMessageManagerCallback;
       
    34 class MMessageRouter;
       
    35 
       
    36 // CLASS DECLARATION
       
    37 
       
    38 /**
       
    39  *  Forwards Tsy requests from Symbian OS to Domestic OS
       
    40  */
       
    41 class CMmMessageManagerBase : public CBase
       
    42     {
       
    43     public:
       
    44         
       
    45         /** TTsyObjects */
       
    46        enum TTsyObjects
       
    47             {
       
    48             //sat objects
       
    49 			ESatTsyObjType,
       
    50 			ESatIconTsyObjType,
       
    51 			ESatNotificationsTsyObjType,
       
    52 			ESatNotifySimSessionEndObjType,
       
    53 			ESatNotifyRefreshObjType,
       
    54 			ESatNotifyLocalInfoObjType,
       
    55 			ESatNotifySetUpEventListObjType,
       
    56 			ESatNotifyMoSmControlRequestObjType,
       
    57 			ESatNotifyLaunchBrowserObjType,
       
    58 			ESatNotifyCallControlRequestObjType,
       
    59 			ESatDataDownloadTsyObjType,
       
    60 			ESatCCTsyObjType,
       
    61 			ESatEventDownloadTsyObjType,
       
    62 			ESatNotifyDisplayTextObjType,
       
    63 			ESatNotifyGetInkeyObjType,
       
    64 			ESatNotifyPlayToneObjType,
       
    65 			CSatNotifySetUpMenu,
       
    66 			ESatNotifySelectItemObjType,
       
    67 			ESatNotifySendSmsObjType,
       
    68 			ESatNotifySendSsObjType,
       
    69 			ESatNotifySendUssdObjType,
       
    70 			ESatNotifySetUpIdleModeTextObjType,
       
    71 			ESatNotifySetUpCallObjType,
       
    72 			ESatNotifyPollIntervalObjType,
       
    73 			ESatNotifySendDtmfObjType,
       
    74 			ESatNotifyPollingOffObjType,
       
    75 			ESatNotifyTimerMgmtObjType,
       
    76 			ESatNotifyLanguageNotificationObjType,
       
    77             ESatNotifyOpenChannelObjType,
       
    78             ESatNotifyGetChannelStatusObjType,
       
    79             ESatNotifyCloseChannelObjType,
       
    80             ESatNotifyReceiveDataObjType,
       
    81             ESatNotifySendDataObjType,
       
    82             ESatNotifyMoreTimeObjType,
       
    83             ESatNotifyGetInputObjType,
       
    84             ESatNotifySetUpMenuObjType,
       
    85             EMaxNumOfTsyObjects
       
    86             };
       
    87             
       
    88             
       
    89     public:  // Constructors and destructor
       
    90         
       
    91         /**
       
    92          * Creates a new CMmMessageManagerBase object
       
    93          *
       
    94          *
       
    95          * @return reference to created CMmMessageManagerBase type of object
       
    96          */
       
    97         static CMmMessageManagerBase* NewL(MMessageRouter& aMessageRouter);
       
    98 
       
    99         /**
       
   100          * Destructor
       
   101          */
       
   102         virtual ~CMmMessageManagerBase();
       
   103 
       
   104         /**
       
   105          * Creates and initialises class attributes
       
   106          */
       
   107         void ConstructL();
       
   108   
       
   109         
       
   110         /**
       
   111          * Returns pointer to messagemanagercallback
       
   112          *
       
   113          *
       
   114          * @return pointer to messagemanagercallback object 
       
   115          */
       
   116         MmMessageManagerCallback* GetMessageManagerCallback();
       
   117 
       
   118     public:  // New functions
       
   119     
       
   120         /**
       
   121          * Forwards a request to DOS layer, request doesn't contain data
       
   122          *          
       
   123          *
       
   124          * @param aIpc
       
   125          * @return error value
       
   126          */
       
   127         virtual TInt HandleRequestL( 
       
   128             const TInt aIpc );
       
   129 
       
   130         /**
       
   131          * Forwards a request to DOS layer, request contains 
       
   132          * packaged data by Common TSY
       
   133          *          
       
   134          *
       
   135          * @param aIpc
       
   136          * @param aDataPackage
       
   137          * @return error value
       
   138          */
       
   139         virtual TInt HandleRequestL( 
       
   140             const TInt aIpc,
       
   141             const CMmDataPackage* aDataPackage );
       
   142 
       
   143         /**
       
   144          * Forwards a request to DOS layer, request contains 
       
   145          * packaged data by Etel Server.
       
   146          *          
       
   147          *
       
   148          * @param aIpc
       
   149          * @param aDataPackage
       
   150          * @return error value
       
   151          */
       
   152         virtual TInt HandleRequestL(    
       
   153             const TInt aIpc,
       
   154             const TDataPackage* aDataPackage );
       
   155 
       
   156         /**
       
   157          * Registers a Tsy object for request and notification completions
       
   158          *          
       
   159          *
       
   160          * @param aTsyObjectType
       
   161          * @param aTsyObject
       
   162          */
       
   163         virtual void RegisterTsyObject( TTsyObjects aTsyObjectType, 
       
   164             CBase* aTsyObject );
       
   165 
       
   166         /**
       
   167          * Deregisters a Tsy object for request and notification completions
       
   168          *          
       
   169          *
       
   170          * @param aTsyObject
       
   171          */
       
   172         virtual void DeregisterTsyObject( CBase* aTsyObject );
       
   173 
       
   174     private:
       
   175 
       
   176         /**
       
   177          * C++ default constructor.
       
   178          */
       
   179         CMmMessageManagerBase(MMessageRouter& aMessageRouter);
       
   180 
       
   181     protected:  // Data
       
   182 
       
   183         /**
       
   184          * writing package for Handlers 
       
   185          */              
       
   186         CSatDataPackage iDataPackage;
       
   187         
       
   188         /** 
       
   189          * Pointer to Messagerouter
       
   190          * own
       
   191          */         
       
   192         CSatMessageRouterProxy* iMessageRouterProxy;
       
   193         
       
   194         /**
       
   195          * Pointer to tsydelegates
       
   196          * own
       
   197          */
       
   198          CTsyDelegates* iTsyDelgates;
       
   199          
       
   200        
       
   201         /**
       
   202          * Pointer to messagerouter
       
   203          */
       
   204          MMessageRouter& iMessageRouter;
       
   205          
       
   206     };
       
   207     
       
   208 #endif // CMMMESSAGEMANAGERBASE_H
       
   209 
       
   210 //  End of file