svgtopt/SVGTPlugin/inc/VolumeKeyListener.h
branchRCL_3
changeset 39 1902ade171ab
parent 0 d46562c3d99d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svgtopt/SVGTPlugin/inc/VolumeKeyListener.h	Wed Sep 01 12:20:46 2010 +0100
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2006 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:  It completes on a change in the volume property.  Used for 
+*                the new Central Repository Server.  Used in EKA2 builds only
+*
+*/
+
+
+#ifndef VOLUMEKEYLISTENER_H
+#define VOLUMEKEYLISTENER_H
+
+#include <e32std.h>
+#include <e32base.h>
+#include <e32property.h>
+
+#include <centralrepository.h>
+#include<remconcoreapitargetobserver.h>    //for MRemConCoreApiTargetObserver
+#include<remconinterfaceselector.h>     //for CRemConInterfaceSelector
+#include<remconcoreapitarget.h>         //for CRemConCoreApiTarget
+
+//
+// for emulator max volume = 65535
+#define WINS_DEFAULT_VOLUME 43690
+
+//
+// For HW max volume = 9
+#define HW_DEFAULT_VOLUME 6
+
+class MRepositoryVolumeObserver;
+
+// DATA TYPES
+// Used for volume up/down events
+enum TVolumeControlCommands
+    {
+    EVolumeControlCmdVolumeUpByOne,
+    EVolumeControlCmdVolumeDownByOne
+    };
+
+NONSHARABLE_CLASS( CVolumeKeyListener ) : public CBase, 
+                                  public MRemConCoreApiTargetObserver
+    {
+public:
+    
+    static CVolumeKeyListener* NewL( MRepositoryVolumeObserver* aObserver );
+    virtual ~CVolumeKeyListener();
+    TInt GetCurrentVolume();
+    /**
+     * Function to add an observer
+     */
+    void SetObserver( MRepositoryVolumeObserver* aObserver ); 
+    
+private:
+    CVolumeKeyListener( MRepositoryVolumeObserver* aObserver );
+    void ConstructL();
+
+    //From MRemConCoreApiTargetObserver (remconcoreapitargetobserver.h)
+    void MrccatoCommand( TRemConCoreApiOperationId aOperationId, 
+                         TRemConCoreApiButtonAction aButtonAct );
+    
+    /**
+      * Handle repeat event
+      */
+    void HandleRepeatEvent();
+
+    /**
+    * Send play command to app UI or view.
+    * @since 3.1
+    */
+    void FilterAndSendCommand(TInt aCommandId);
+   /**
+    * Callback for timer
+    */
+    static TInt TimerCallback(TAny* aPtr);
+
+private:
+    CRemConCoreApiTarget* iInterfaceSelector;
+    CRemConInterfaceSelector* iSelector;
+    CRepository* iCenRepos;
+    CPeriodic* iTimer;                                   // owned
+    TInt iCommandId;
+    // Stores the observers.
+    MRepositoryVolumeObserver* iObserver;
+    };
+
+#endif  //VOLUMEKEYLISTENER_H
+
+// End of File