diff -r 8b2d6d0384b0 -r d9aefe59d544 camerauis/cameraapp/generic/src/CamVolumeKeyObserver.cpp --- a/camerauis/cameraapp/generic/src/CamVolumeKeyObserver.cpp Tue Feb 02 00:01:39 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,358 +0,0 @@ -/* -* Copyright (c) 2007-2008 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: Receives buton presses from volume keys* -*/ - - -// INCLUDE FILES - -#include "CamVolumeKeyObserver.h" -#include -#include -#include "CamUtility.h" -#include "CamAppUi.h" -#include "CamZoomPane.h" -#include -#include - - - -/** -* Helper class for sending response back to -* Remote Controller Framework -* -* @since 3.1 -*/ -class CCamRemConKeyResponse : public CActive - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - * aparam Remote Controller instance - * @return new instance. - */ - static CCamRemConKeyResponse* NewL( CRemConCoreApiTarget& - aRemConCoreApiTarget ); - - /** - * Destructor. - */ - virtual ~CCamRemConKeyResponse(); - - public: // new function - - /** - * Send the any key response back to Remcon server - * @since 3.1 - * @param aOperationId Remcon operation - */ - void CompleteAnyKeyL( TRemConCoreApiOperationId aOperationId ); - - private: //from base class - - /** - * From CActive - * Called on completion of a request - * @since 3.1 - */ - void RunL(); - - /** - * From CActive - * Cancels an outstanding request - * @since 3.1 - */ - void DoCancel(); - - private: - - /** - * C++ default constructor. - * @since 3.1 - * aparam Remote Controller instance - */ - CCamRemConKeyResponse( CRemConCoreApiTarget& aRemConCoreApiTarget ); - - private: - - // Response array - RArray iResponseArray; - - // Remote controller - CRemConCoreApiTarget& iRemConCoreApiTarget; - }; - - -// ----------------------------------------------------------------------------- -// CCamRemConKeyResponse::CCamRemConKeyResponse -// default C++ constructor -// ----------------------------------------------------------------------------- -// -CCamRemConKeyResponse::CCamRemConKeyResponse( CRemConCoreApiTarget& - aRemConCoreApiTarget ) - : CActive ( EPriorityNormal ), - iRemConCoreApiTarget ( aRemConCoreApiTarget ) - - { - CActiveScheduler::Add( this ); - } - - -// ----------------------------------------------------------------------------- -// CCamRemConKeyResponse::NewL -// ----------------------------------------------------------------------------- -// -CCamRemConKeyResponse* CCamRemConKeyResponse::NewL(CRemConCoreApiTarget& - aRemConCoreApiTarget) - { - CCamRemConKeyResponse* self = - new (ELeave) CCamRemConKeyResponse( aRemConCoreApiTarget ); - - return self; - } - -// ----------------------------------------------------------------------------- -// CCamRemConKeyResponse::~CCamRemConKeyResponse -// ----------------------------------------------------------------------------- -// -CCamRemConKeyResponse::~CCamRemConKeyResponse() - { - PRINT( _L("Camera => ~CCamRemConKeyResponse::~CCamRemConKeyResponse")) - Cancel(); - PRINT( _L("Camera => ~CCamRemConKeyResponse::~CCamRemConKeyResponse B")) - iResponseArray.Reset(); - PRINT( _L("Camera => ~CCamRemConKeyResponse::~CCamRemConKeyResponse C")) - iResponseArray.Close(); - PRINT( _L("Camera <= ~CCamRemConKeyResponse::~CCamRemConKeyResponse")) - } - -// ----------------------------------------------------------------------------- -// CCamRemConKeyResponse::DoCancel -// ----------------------------------------------------------------------------- -// -void CCamRemConKeyResponse::DoCancel() - { - } - -// ----------------------------------------------------------------------------- -// CCamRemConKeyResponse::RunL -// ----------------------------------------------------------------------------- -// -void CCamRemConKeyResponse::RunL() - { - // if any existing -> Send response - if ( iResponseArray.Count() ) - { - CompleteAnyKeyL( iResponseArray[0] ); - // Remove already completed key - iResponseArray.Remove(0); - iResponseArray.Compress(); - } - } - -// ----------------------------------------------------------------------------- -// CCamConKeyResponse::CompleteAnyKeyL -// ----------------------------------------------------------------------------- -// -void CCamRemConKeyResponse::CompleteAnyKeyL( TRemConCoreApiOperationId - aOperationId ) - { - PRINT(_L("Camera => CCamRemConKeyResponse::CompleteAnyKeyL")) - if ( !IsActive() ) - { - switch ( aOperationId ) - { - case ERemConCoreApiVolumeUp: - { - PRINT( _L("CCamRemConKeyResponse::CompleteAnyKeyL operation volume up") ); - iRemConCoreApiTarget.VolumeUpResponse( iStatus, KErrNone ); - SetActive(); - } - break; - case ERemConCoreApiVolumeDown: - { - PRINT( _L("CCamRemConKeyResponse::CompleteAnyKeyL operation volume down") ); - iRemConCoreApiTarget.VolumeDownResponse( iStatus, KErrNone ); - SetActive(); - } - break; - default: - { - PRINT( _L("CCamRemConKeyResponse::CompleteAnyKeyL operation - other operation") ); - // Send general response for 'other' keys - iRemConCoreApiTarget.SendResponse( iStatus, aOperationId, KErrNone ); - SetActive(); - } - break; - } - } - // already active. Append to array and complete later. - else - { - User::LeaveIfError( iResponseArray.Append( aOperationId ) ); - } - } - - -// ----------------------------------------------------------------------------- -// CCamRemConObserver::NewL -// ----------------------------------------------------------------------------- -// -CCamRemConObserver* CCamRemConObserver::NewL( MCamVolumeKeyObserver &aObserver ) - { - CCamRemConObserver* self = new ( ELeave ) CCamRemConObserver( aObserver ); - CleanupStack::PushL( self ); - self->ConstructL( ); - CleanupStack::Pop(); - - return self; - } - -// ----------------------------------------------------------------------------- -// CPhoneRemConObserver::~CPhoneRemConObserver -// destructor -// ----------------------------------------------------------------------------- -// -CCamRemConObserver::~CCamRemConObserver() - { - PRINT( _L("Camera => CCamRemConObserver::~CCamRemConObserver")) - delete iActiveRemCon; - - delete iInterfaceSelector; - - PRINT( _L("Camera <= CCamRemConObserver::~CCamRemConObserver")) - } - -// ----------------------------------------------------------------------------- -// CPhoneRemConObserver::CPhoneRemConObserver -// C++ default constructor -// ----------------------------------------------------------------------------- -// -CCamRemConObserver::CCamRemConObserver( MCamVolumeKeyObserver& aObserver ): - iObserver ( aObserver ) - { - } - -// ----------------------------------------------------------------------------- -// CPhoneRemConObserver::ConstructL -// Symbian 2nd phase constructor -// ----------------------------------------------------------------------------- -// -void CCamRemConObserver::ConstructL() - { - iInterfaceSelector = CRemConInterfaceSelector::NewL(); - - // owned by CRemConInterfaceSelector instance - iCoreTarget = CRemConCoreApiTarget::NewL( *iInterfaceSelector, *this ); - - iActiveRemCon = CCamRemConKeyResponse::NewL( *iCoreTarget ); - - iInterfaceSelector->OpenTargetL(); - } - -// ----------------------------------------------------------------------------- -// CPhoneRemConObserver::MrccatoCommand -// A command has been received. -// ----------------------------------------------------------------------------- -// -void CCamRemConObserver::MrccatoCommand( - TRemConCoreApiOperationId aOperationId, - TRemConCoreApiButtonAction aButtonAct ) - { - PRINT2( _L("Camera => CCamRemConObserver::MrccatoCommand op (%d) act (%d)"), aOperationId, aButtonAct ) - switch ( aOperationId ) - { - case ERemConCoreApiVolumeUp: - { - // send the response back to Remcon server - TRAP_IGNORE( iActiveRemCon->CompleteAnyKeyL( aOperationId ) ); - - // send button press to zoom pane - iObserver.HandleVolumeKeyEvent( aOperationId, aButtonAct ); - } - break; - case ERemConCoreApiVolumeDown: - { - TRAP_IGNORE( iActiveRemCon->CompleteAnyKeyL( aOperationId ) ); - iObserver.HandleVolumeKeyEvent( aOperationId, aButtonAct ); - } - break; - default: - { - // Complete any other operation id - TRAP_IGNORE( iActiveRemCon->CompleteAnyKeyL( aOperationId ) ); - } - break; - } - } - -// ----------------------------------------------------------------------------- -// CPhoneRemConObserver::MrccatoPlay -// not used -// ----------------------------------------------------------------------------- -// -void CCamRemConObserver::MrccatoPlay( TRemConCoreApiPlaybackSpeed /*aSpeed*/, - TRemConCoreApiButtonAction /*aButtonAct*/ ) - { - // not used - } - -// ----------------------------------------------------------------------------- -// CPhoneRemConObserver::MrccatoTuneFunction -// not used -// ----------------------------------------------------------------------------- -// -void CCamRemConObserver::MrccatoTuneFunction( TBool /*aTwoPart*/, - TUint /*aMajorChannel*/, - TUint /*aMinorChannel*/, - TRemConCoreApiButtonAction /*aButtonAct*/ ) - { - // not used - } - -// ----------------------------------------------------------------------------- -// CPhoneRemConObserver::MrccatoSelectDiskFunction -// not used -// ----------------------------------------------------------------------------- -// -void CCamRemConObserver::MrccatoSelectDiskFunction( TUint /*aDisk*/, - TRemConCoreApiButtonAction /*aButtonAct*/ ) - { - // not used - } - -// ----------------------------------------------------------------------------- -// CPhoneRemConObserver::MrccatoSelectAvInputFunction -// not used -// ----------------------------------------------------------------------------- -// -void CCamRemConObserver::MrccatoSelectAvInputFunction( TUint8 /*aAvInputSignalNumber*/, - TRemConCoreApiButtonAction /*aButtonAct*/ ) - { - // not used - } - -// ----------------------------------------------------------------------------- -// CPhoneRemConObserver::MrccatoSelectAudioInputFunction -// not used -// ----------------------------------------------------------------------------- -// -void CCamRemConObserver::MrccatoSelectAudioInputFunction( TUint8 /*aAudioInputSignalNumber*/, - TRemConCoreApiButtonAction /*aButtonAct*/ ) - { - // not used - } - -// End of File