--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/browserplugins/browseraudiovideoplugin/inc/BavpHwKeyEvents.h Mon Mar 30 12:49:49 2009 +0300
@@ -0,0 +1,135 @@
+/*
+* 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 the License "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: Class which implements handling Hardware Key events.
+* This class implements methods of MRemConCoreApiTargetObserver
+*
+*/
+
+
+#ifndef BAVPHWKEYEVENTS_H
+#define BAVPHWKEYEVENTS_H
+
+// INCLUDES
+#include <RemConCoreApiTargetObserver.h>
+
+// FORWARD DECLARATIONS
+class CRemConInterfaceSelector;
+class CRemConCoreApiTarget;
+class MRemConCoreApiTargetObserver;
+
+// CONSTANTS
+
+// CLASS DECLARATION
+/**
+* MBavpHwKeyEventsObserver class for hardware key events
+* This class implements methods of MRemConCoreApiTargetObserver
+* @lib npBrowserVideoPlugin.lib
+* @since 3.2
+*/
+class MBavpHwKeyEventsObserver
+ {
+ public:
+ /**
+ * Called when volume level should be changed.
+ * @since 3.2
+ * @param aVolumeChange: +1 change volume up
+ * -1 change volume down
+ * @return void
+ */
+ virtual void BavpHwKeyVolumeChange( TInt aVolumeChange ) = 0;
+
+ /**
+ * Called when a media hardware key (play, pause...) was presed.
+ * @since 3.2
+ * @param aCommand: Command ID representing Play, Pause, ...
+ * @return void
+ */
+ // Incr15 SCO item that was cancelled.
+ // virtual void BavpHwKeyCommand( TBavpCommandIds aCommand ) = 0;
+ };
+
+/**
+* CBavpHwKeyEvents class to handle Side Volume Key events
+* @lib npBrowserVideoPlugin.lib
+* @since 3.2
+*/
+class CBavpHwKeyEvents : public CBase,
+ public MRemConCoreApiTargetObserver
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Symbian constructor
+ * @param aObserver observer to implement callback functions
+ */
+ static CBavpHwKeyEvents* NewL( MBavpHwKeyEventsObserver& aObserver );
+
+ /**
+ * Destructor.
+ */
+ ~CBavpHwKeyEvents();
+
+ private: // Constructors and destructor
+
+ /**
+ * Default constructor.
+ * @since 3.2
+ */
+ CBavpHwKeyEvents( MBavpHwKeyEventsObserver& aObserver );
+
+ /**
+ * Constructor.
+ * @since 3.2
+ */
+ void ConstructL();
+
+ protected: // From MRemConCoreApiTargetObserver
+
+ /* Handles hardware key events
+ * @since 3.2
+ */
+ void MrccatoCommand( TRemConCoreApiOperationId aOperationId,
+ TRemConCoreApiButtonAction aButtonAct );
+
+ private:
+
+ /**
+ * Change volume depending on the level of increase or decrease
+ * @since 3.2
+ */
+ void DoChangeVolume( );
+
+ /**
+ * VolumeTimerCallback is the callback function called from change volume timer.
+ * @since 3.2
+ */
+ static TInt VolumeTimerCallback( TAny* aThis );
+
+ private: // data
+
+ MBavpHwKeyEventsObserver& iObserver;
+
+ CRemConInterfaceSelector* iInterfaceSelector;
+
+ CRemConCoreApiTarget* iCoreTarget;
+
+ CPeriodic* iVolumeTimer;
+
+ // Indicates size of volume level change
+ TInt iChange;
+ };
+
+#endif // BAVPHWKEYEVENTS_H
+
+// End of File