mmshplugins/mmshaoplugin/inc/musaoplugin.h
branchRCL_3
changeset 22 73a1feb507fb
parent 0 f0cf47e981f9
child 23 bc78a40cd63c
equal deleted inserted replaced
21:33a5d2bbf6fc 22:73a1feb507fb
    26 #include <etel.h>    
    26 #include <etel.h>    
    27 #include <etelmm.h>  
    27 #include <etelmm.h>  
    28 #include <e32property.h>
    28 #include <e32property.h>
    29 
    29 
    30 #include "musunittesting.h"
    30 #include "musunittesting.h"
       
    31 #include "mmuscallstateobserver.h"
       
    32 #include "musmanager.h"
    31 
    33 
    32 // Enable the below line if Kodiak Ptt has to be monitered
    34 // Enable the below line if Kodiak Ptt has to be monitered
    33 //class CMusPttCallMonitor;
    35 //class CMusPttCallMonitor;
    34 class CMusPropertyMonitor;
    36 class CMusPropertyMonitor;
    35 class CMusTsyPropertyMonitor;
    37 class CMusTsyPropertyMonitor;
    39 /**
    41 /**
    40  * Main plugin class
    42  * Main plugin class
    41  *
    43  *
    42  * @lib musaoplugin.dll
    44  * @lib musaoplugin.dll
    43  */
    45  */
    44 class CMusAoPlugin : public CAlwaysOnlineEComInterface                      
    46 class CMusAoPlugin : public CAlwaysOnlineEComInterface,
       
    47                      public MMusCallStateObserver
    45     {
    48     {
    46 public:
    49 public:
    47 
    50 
    48     /**
    51     /**
    49      * Two-phased constructor
    52      * Two-phased constructor
    73      *
    76      *
    74      * @since S60 v3.2
    77      * @since S60 v3.2
    75      */
    78      */
    76 
    79 
    77     void DeleteProperties();
    80     void DeleteProperties();
       
    81     
       
    82     
       
    83 public: // from MMusCallStateObserver
       
    84 
       
    85     void MusCallStateChanged();
       
    86     
    78 
    87 
    79 private: // constructors
    88 private: // constructors
    80 
    89 
    81     /**
    90     /**
    82      * C++ constructor.
    91      * C++ constructor.
    96     /**
   105     /**
    97      * Utility function to define and set keys.
   106      * Utility function to define and set keys.
    98      */
   107      */
    99 	void DefinePropertyL(TInt aKey,RProperty::TType aType,const TDesC& aVal);
   108 	void DefinePropertyL(TInt aKey,RProperty::TType aType,const TDesC& aVal);
   100 
   109 
   101     /**
   110 	/**
   102      * Utility function to delete keys.
   111      * Utility function to delete keys.
   103      */
   112      */
   104 	void DeleteProperty(TInt aKey);
   113 	void DeleteProperty(TInt aKey);
       
   114 
       
   115 	/**
       
   116      * Starts Mus Manager Client.In turn it will start Mus Manager
       
   117      * Server and Availability Plugin.
       
   118      */
       
   119     void StartMusClientL();
       
   120 
       
   121     /*
       
   122      * Stops Mus Manager Client.
       
   123      */ 
       
   124     void StopMusClient();
       
   125 
   105 	
   126 	
   106 public: // from base class CAlwaysOnlineEComInterface
   127 public: // from base class CAlwaysOnlineEComInterface
   107 
   128 
   108     /**
   129     /**
   109      *  Commands from alwaysonlinemanager to plugin
   130      *  Commands from alwaysonlinemanager to plugin
   116     virtual TAny* HandleServerCommandL( TInt aCommand,
   137     virtual TAny* HandleServerCommandL( TInt aCommand,
   117                                         TDesC8* aParameters );	
   138                                         TDesC8* aParameters );	
   118 
   139 
   119 private: // data
   140 private: // data
   120    
   141    
       
   142     /**
       
   143      * Instance of MusManager Client. Owned.
       
   144      */
       
   145     CMusManager* iManager;
       
   146     
       
   147 
   121     /* Property Monitor  */
   148     /* Property Monitor  */
   122     CMusPropertyMonitor*      iPropertyMonitor;
   149     CMusPropertyMonitor*      iPropertyMonitor;
   123 
   150 
   124     /** 
   151     /** 
   125      *  Telephony Property Key monitor.
   152      *  Telephony Property Key monitor.
   145      *  Error status.
   172      *  Error status.
   146      */
   173      */
   147     TInt iError;
   174     TInt iError;
   148    
   175    
   149     MUS_UNITTEST( UT_CMusAoPlugin )
   176     MUS_UNITTEST( UT_CMusAoPlugin )
   150 
       
   151     };
   177     };
   152 
   178 
   153 #endif // MUSAOPLUGIN_H
   179 #endif // MUSAOPLUGIN_H