mmsharing/mmshengine/inc/musengsession.h
branchRCL_3
changeset 11 ff8a573c0e2e
parent 0 f0cf47e981f9
child 21 ce86b6d44a6d
--- a/mmsharing/mmshengine/inc/musengsession.h	Fri Mar 12 15:42:21 2010 +0200
+++ b/mmsharing/mmshengine/inc/musengsession.h	Mon Mar 15 12:40:08 2010 +0200
@@ -21,6 +21,7 @@
 
 // USER INCLUDES
 #include "musunittesting.h"
+#include "musengvolumechangeobserver.h"
 
 //SYSTEM INCLUDES
 #include <e32base.h>
@@ -31,6 +32,7 @@
 class CMusSipProfileHandler;
 class CRepository;
 class MMusEngAudioRoutingObserver;
+class MMusEngVolumeChangeObserver;
 
 // CLASS DECLARATION
 
@@ -43,7 +45,8 @@
 *
 * @lib musengine.lib
 */
-class CMusEngSession : public CBase
+class CMusEngSession : public CBase,
+                       public MMusEngVolumeChangeObserver
     {
     MUS_UNITTEST( UT_CMusEngSession )
     
@@ -116,6 +119,12 @@
         IMPORT_C void SetAudioRoutingObserver( 
                                     MMusEngAudioRoutingObserver* aObserver );
         
+        /**
+        * Sets volume level change observer. Can be set to NULL in order to indicate
+        * ending of observing changes in volume level.
+        */
+        IMPORT_C void SetVolumeChangeObserver( 
+                                    MMusEngVolumeChangeObserver* aObserver );
 
     public:  // VIRTUAL API FUNCTIONS
         
@@ -159,6 +168,9 @@
         virtual void RectChangedL() = 0;
 
 
+        //from MMusEngVolumeChangeObserver
+        virtual void VolumeChanged( TInt aVolume, TBool aAudioRouteChanged );
+        
     protected:
 
         /**
@@ -189,6 +201,11 @@
         * Telephone utilities.
         */
         CMusEngTelephoneUtils* iTelephoneUtils;
+        
+        /**
+        * Volume change observer
+        */
+        MMusEngVolumeChangeObserver* iVolumeObserver;
 
     };