diff -r 000000000000 -r 84ad3b177aa3 browserplugins/browseraudiovideoplugin/inc/BavpHwKeyEvents.h --- /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 + +// 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