--- a/bluetooth/gavdp/test/tavsrcController.cpp Thu Aug 19 11:01:00 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-// Copyright (c) 2007-2009 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:
-//
-
-#include "tavsrcController.h"
-
-#include <remconinterfaceselector.h>
-#include <remconcoreapicontroller.h>
-#include <remconbeareravrcp.h>
-
-CTavsrcController* CTavsrcController::NewL(CRemConInterfaceSelector& aIfSel, CActiveConsole& aConsole)
- {
- CTavsrcController* controller = new(ELeave) CTavsrcController(aIfSel, aConsole);
- CleanupStack::PushL(controller);
- controller->ConstructL();
- CleanupStack::Pop(controller);
- return controller;
- }
-
-CTavsrcController::CTavsrcController(CRemConInterfaceSelector& aIfSel, CActiveConsole& aConsole)
- : CActive(EPriorityStandard), iState(EControllerNotConnected), iSelector(&aIfSel), iConsole(aConsole)
- {
- CActiveScheduler::Add(this);
- }
-
-void CTavsrcController::ConstructL()
- {
- iCoreController = CRemConCoreApiController::NewL(*iSelector, *this);
- iGoConnectionOrientedSent = EFalse;
- }
-
-CTavsrcController::~CTavsrcController()
- {
- Cancel();
- }
-
-TInt CTavsrcController::Command(TRemConCoreApiOperationId aOpId)
- {
- TInt err = KErrNotReady;
-
- if(!IsActive())
- {
- err = KErrNone;
-
- if(iState == EControllerConnected)
- {
- IssueCommand(aOpId);
- }
- else
- {
- // Need to connect first
- TRAP(err, ConnectL());
- }
- }
-
- return err;
- }
-
-
-void CTavsrcController::MrccacoResponse(TRemConCoreApiOperationId aOperationId, TInt aError)
- {
- iConsole.Console().Printf(_L("Received Response for Operation %d, Result %d\n"), aOperationId, aError);
- }
-
-void CTavsrcController::IssueCommand(TRemConCoreApiOperationId aOpId)
- {
- switch(aOpId)
- {
- case ERemConCoreApiVolumeDown:
- iCoreController->VolumeDown(iStatus, iNumRemotes, ERemConCoreApiButtonClick);
- break;
- case ERemConCoreApiVolumeUp:
- iCoreController->VolumeUp(iStatus, iNumRemotes, ERemConCoreApiButtonPress);
- break;
- case ERemConCoreApiForward:
- iCoreController->Forward(iStatus, iNumRemotes, ERemConCoreApiButtonClick);
- break;
- case ERemConCoreApiBackward:
- iCoreController->Backward(iStatus, iNumRemotes, ERemConCoreApiButtonClick);
- break;
- case ERemConCoreApiPlay:
- iCoreController->Play(iStatus, iNumRemotes, ERemConCoreApiButtonClick);
- break;
- case ERemConCoreApiStop:
- iCoreController->Stop(iStatus, iNumRemotes, ERemConCoreApiButtonClick);
- break;
- default:
- // Cos we don't want to SetActive(), alright?
- return;
- }
-
- iConsole.Console().Printf(_L("Sending Command Operation %d\n"), aOpId);
- SetActive();
- }
-
-void CTavsrcController::ConnectL()
- {
- //Ask user which device address we should connect to...
- iState = ESearchingForDevice;
- User::LeaveIfError(iNotify.Connect());
- iNotify.StartNotifierAndGetResponse(iStatus, KDeviceSelectionNotifierUid, iPckg, iResPckg);
- SetActive();
- }
-
-void CTavsrcController::RunL()
- {
- switch(iState)
- {
- case EControllerConnected:
- {
- // We don't care what the result was really
- // Ask Tim about the display logging and
- // log it
- break;
- }
- case EControllerNotConnected:
- {
- iConsole.Console().Printf(_L("AVRCP connection completed, result = %d\n"), iStatus.Int());
-
- if(iStatus.Int() == KErrNone)
- {
- // Connected ok, now issue command
- iState = EControllerConnected;
- IssueCommand(iOutstandingOperation);
- }
- break;
- }
- case ESearchingForDevice:
- {
- if (iStatus.Int() == KErrNone)
- {
- iState = EControllerNotConnected;
-
- iNotify.CancelNotifier(KDeviceSelectionNotifierUid);
- iNotify.Close();
-
- iConsole.Console().Printf(_L("Opening AVRCP connection...\n"));
-
- TBTDevAddr btAddr = iResPckg().BDAddr();
- // Store as 8 bit machine readable
- RBuf8 bearerData;
- bearerData.CreateL(btAddr.Des());
-
- // Form the RemCon Addr from the AVRCP Uid and the
- // bluetooth address
- TRemConAddress addr;
- addr.BearerUid() = TUid::Uid(KRemConBearerAvrcpImplementationUid);
- addr.Addr() = bearerData;
-
- if (iGoConnectionOrientedSent)
- {
- // Only allowed to call GoConnectionOrientedL() once on pain of RemCon panic,
- // ERemConClientPanicAlreadyConnectionOriented. Solution is to call GoConnectionlessL()
- // before recalling GoConnectionOrientedL()
- iSelector->GoConnectionlessL();
- }
- iSelector->GoConnectionOrientedL(addr);
- iSelector->ConnectBearer(iStatus);
- iGoConnectionOrientedSent = ETrue;
-
- SetActive();
- break;
- }
- }
- default:
- {
- // hmm shouldn't be here
- __DEBUGGER();
- break;
- }
- }
- }
-
-void CTavsrcController::DoCancel()
- {
- iCoreController->Cancel();
- }