bluetooth/gavdp/test/tavsrc.h
branchRCL_3
changeset 23 5b153be919d4
parent 22 786b94c6f0a4
child 24 e9b924a62a66
--- a/bluetooth/gavdp/test/tavsrc.h	Thu Aug 19 11:01:00 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,305 +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:
-//
-
-#ifndef TAVSRC_H
-#define TAVSRC_H
-
-//only use define CHANNEL_BINDING_DEBUG_CHECK when checking channel binding
-//#define CHANNEL_BINDING_DEBUG_CHECK
-
-#define __PRINT iActiveConsole->Console().Printf
-#define __LOG iLogConsole->Console().Printf /*RDebug::Print*/
-
-#include "tavsrcConsole.h"
-#include "tavsrcStreamerUser.h"
-#include "tavsrcOperations.h"
-
-#include <f32file.h>
-#include <btsdp.h>
-#include <rtp.h>
-#include <gavdp.h>
-#include <remconcoreapitargetobserver.h>
-#include <remcongroupnavigationtarget.h>
-#include <remcongroupnavigationtargetobserver.h>
-
-#include <remconmediainformationtarget.h>
-#include <remconmediainformationtargetobserver.h>
-
-#include <remconbatterytarget.h>
-#include <remconbatterytargetobserver.h>
-
-#include <playerinformationtarget.h>
-#include <playerinformationtargetobserver.h>
-
-#include <remconabsvoltargetobserver.h>
-#include <remcontrackinfotargetobserver.h>
-
-enum TRemConInterfaces
-	{
-	ECoreApiTarget = 1 << 0,
-	ECoreApiController = 1 << 1,
-	EGroupNavigation = 1 << 2,
-	EMediaInformation = 1 << 3,
-	EBatteryStatus = 1 << 4,
-	EAbsoluteVolumeTarget = 1 << 5,
-	EAbsoluteVolumeController = 1 << 6,
-	EPlayerInformation = 1 << 7,
-	ENowPlaying = 1 << 8,
-	EMediaBrowse = 1 << 9,
-	EDatabaseAware = 1 << 10,
-	ESeparateThreadForBrowse = 1 << 11,
-	EVendorTrackInfoTarget = 1 << 12,
-	EVendorAbsoluteVolumeTarget = 1 << 13,
-	};
-
-
-typedef TFixedArray<RSocket, 3> RSocketArray;
-
-class CActivePacketDropIoctl;
-class CActiveSockReader;
-class CActiveSockWriter;
-class CRemMetadataTransferTarget;
-class CAVTestApp;
-class CActiveStreamer;
-class CTavsrcController;
-class CRemConInterfaceSelector;	
-class CRemConCoreApiTarget;
-class CRemConTrackInfoTarget;
-class CRemConAbsVolTarget;
-class CTavsrcMtUpdater;
-class CTavsrcAbsoluteVolume;
-class CAVTestApp : public CBase, public MActiveConsoleNotify,
-						public MGavdpUser, public MBluetoothPhysicalLinksNotifier,
-						public MRemConCoreApiTargetObserver,
-						public MActiveStreamerUser,
-						public MRemConMediaInformationTargetObserver,
-						public MRemConGroupNavigationTargetObserver,
-						public MRemConBatteryTargetObserver,
-						public MRemConTrackInfoTargetObserver,
-						public MRemConAbsVolTargetObserver
-	{
-private:
-	enum TTavsrcServiceCategory
-		{
-		ETavsrcServiceCategoryNull				=0x00,
-		ETavsrcServiceCategoryMediaTransport 	=0x01,
-		ETavsrcServiceCategoryReporting			=0x02,
-		ETavsrcServiceCategoryRecovery			=0x04,
-		ETavsrcServiceCategoryContentProtection	=0x08,
-		ETavsrcServiceCategoryHeaderCompression	=0x10,
-		ETavsrcServiceCategoryMultiplexing		=0x20,
-		ETavsrcServiceCategoryMediaCodec		=0x40,
-		};
-public:
-	static CAVTestApp* NewL();
-	void EchoStorm();
-
-	void StartL();
-	void Stop();
-	~CAVTestApp();
-	void TestMenu();
-
-	void KeyPressed(TChar aKey);
-
-	TInt StartSrc();
-	void StopSrc();
-	void DisconnectSrc();
-
-	// echo test
-	virtual void HandleCreateConnectionCompleteL(TInt aErr);
-	virtual void HandleDisconnectCompleteL(TInt aErr);
-	virtual void HandleDisconnectAllCompleteL(TInt aErr);
-
-private:
-	void PreventLowPowerModes();
-	void AllowLowPowerModes();
-	void CreateBearers();
-	void CloseBearers();
-	void ConfigureSEPL();
-	void Abort();
-	void DiscoverSEPs();
-	void StartStreams();
-	void SuspendStreams();
-	void GetCapabilities();
-	void SendSecurityControl();
-	TSBCCodecCapabilities InteractiveSBCMediaCodecConfig(TSBCCodecCapabilities& caps);
-	
-	void PrintCommandOption(TChar aOperation, TPtrC aDesc);
-	
-	void CreateStreamerL(RSocketArray aSockets);
-	void CreateRemConInterfacesL();
-
-	void Connect();
-	TInt Listen();
-	TInt RegisterSEP();
-	
-	CAVTestApp();
-	void ConstructL();
-
-	//return ETrue if current SEP is sink, EFalse otherwise
-	TBool CurrentSEIDIsSink();
-
-	void DisplayHelp();
-	void ParseCommandLineL();
-	
-private:
-	// GAVDP callbacks
-	virtual void GAVDP_SEPDiscovered(const TAvdtpSEPInfo& aSEP);
-	virtual void GAVDP_SEPDiscoveryComplete();
-	virtual void GAVDP_SEPCapability(TAvdtpServiceCapability* aCapability);	
-	virtual void GAVDP_SEPCapabilityComplete();
-	virtual void GAVDP_AbortStreamConfirm();
-	virtual void GAVDP_StartStreamsConfirm();
-	virtual void GAVDP_SuspendStreamsConfirm();
-	virtual void GAVDP_SecurityControlConfirm(const TDesC8& aResponseData);
-	virtual void GAVDP_ConfigurationConfirm();	// configuration complete and SEP selected *AND* reconfigure confirm
-	virtual void GAVDP_Error(TInt aError, const TDesC8& aErrorData);
-	virtual void GAVDP_ConnectConfirm(const TBTDevAddr& aAddr);
-
-	virtual void GAVDP_ConfigurationStartIndication(TSEID aLocalSEID, TSEID aRemoteSEID);	
-	virtual TInt GAVDP_ConfigurationIndication(TAvdtpServiceCapability* aCapability);
-	virtual TInt GAVDP_ConfigurationEndIndication();
-
-	virtual TInt GAVDP_StartIndication(TSEID aSEID);
-	virtual TInt GAVDP_SuspendIndication(TSEID aSEID);
-	virtual TInt GAVDP_SecurityControlIndication(TSEID aSEID, TDes8& aSecurityData);
-	virtual void GAVDP_AbortIndication(TSEID aSEID);
-	virtual void GAVDP_ReleaseIndication(TSEID aSEID);
-	virtual void GAVDP_BearerReady(RSocket aNewSocket, const TAvdtpSockAddr& aAddr);
-	
-	void PrettyPrint(TAvdtpServiceCapability& aCapability);
-	
-private:
-	// RemConCoreApiTarget callbacks
-	virtual void MrccatoCommand(TRemConCoreApiOperationId aOperationId, TRemConCoreApiButtonAction aButtonAct);
-	virtual void MrccatoPlay(TRemConCoreApiPlaybackSpeed aSpeed, TRemConCoreApiButtonAction aButtonAct);
-
-private:
-	// from MActiveStreamerUser
-	virtual void MediaCodecConfigurationRequired(TSBCCodecCapabilities& aConfig);
-
-	virtual TInt MrcmtcGetElementAttributes(TUint64 aElement, TUint32 aAttribute, HBufC8*& aOutValueOwnershipTransferred);
-
-	// from MRemConGroupNavigationTargetObserver	
-	virtual void MrcgntoNextGroup(TRemConCoreApiButtonAction aButtonAct);
-	virtual void MrcgntoPreviousGroup(TRemConCoreApiButtonAction aButtonAct);
-	virtual void MrcbstoBatteryStatus(TControllerBatteryStatus& aBatteryStatus);
-
-	// from MRemConMediaInformationTargetObserver	
-	virtual void MrcmitoGetCurrentlyPlayingMetadata( TMediaAttributeIter& aAttributeIter );
-
-	virtual void MrcncRegisterPlaybackStatusChangedNotification();
-	virtual void MrcncRegisterTrackChangedNotification();
-	virtual void MrcncRegisterTrackReachedEndNotification();
-	virtual void MrcncRegisterTrackReachedStartNotification();
-	virtual void MrcncRegisterPositionChangedNotification(TUint32 aInterval);
-	virtual void MrcncRegisterBatteryStatusChangedNotification();
-	virtual void MrcncRegisterSystemStatusChangedNotification();
-	virtual void MrcncRegisterPlayerApplicationStatusChangedNotification();
-	
-	virtual void MrcavtoGetAbsoluteVolume();
-	virtual void MrcavtoSetAbsoluteVolume(TUint /*aAbsVol*/, TUint /*aMaxVol*/);
-	
-	virtual void MrctitoGetTrackName();
-	virtual void MrctitoGetArtist();
-	virtual void MrctitoGetTrackDuration();
-
-private:
-	CActiveConsole* iActiveConsole;
-	CActiveConsole* iLogConsole;
-	CTavsrcMtUpdater*			iMtUpdater;
-		
-	RSocketServ iSockServ;
-	
-#ifdef CHANNEL_BINDING_DEBUG_CHECK
-	CActiveSockReader* iRepReader;
-	CActiveSockWriter* iRepWriter;
-	CActiveSockReader* iRecvReader;
-	CActiveSockWriter* iRecvWriter;
-#endif
-	
-	CActivePacketDropIoctl* iPacketDropIoctl;
-
-	RGavdp iGavdp;	
-	
-	TSEID iCurrentSEID; // Current Remote SEID
-	TSEID iCurrentLocalSEID; // Current Local SEID
-
-	RPointerArray<TAvdtpServiceCapability> iSEPCapabilities; // only held for one SEP at a time in this test code
-
-	RArray<TSEID> iShortlistedSEIDs;	// for finding good remote SEP
-	TBool iChosenSEP;
-	
-	RArray<TAvdtpSEPInfo> iLocallyRegisteredSEPs;
-	TBool iRegisteringLocalSEP;
-	
-	CActiveStreamer* iStreamer;
-	RSocketArray iPendingSockets;
-	
-	CRemConInterfaceSelector* iRemConInterfaceSelector;
-	CRemConCoreApiTarget* iRemConTarget;
-	CRemConGroupNavigationApiTarget* iGroupNavigation;
-	CRemConMediaInformationTarget* iMediaInformation;
-	CRemConBatteryApiTarget* iBatteryStatus;
-	CRemConTrackInfoTarget* iTrackInfo;
-	CRemConAbsVolTarget* iAbsoluteVolume;
-	CTavsrcAbsoluteVolume* iTavsrcAbsoluteVolume;
-
-	RSdp iSdp;
-	RSdpDatabase iSdpDB;
-	TSdpServRecordHandle iSrcHandle;
-	TSdpServRecordHandle iSnkHandle;
-	
-	TBool iAutoStream;
-	
-	enum TGavdpState
-		{
-		ENoClientOpen,
-		EIdle,
-		ESigConnected,
-		EOpen,
-		ESuspended,
-		ERemoteReconfiguring,
-		};
-
-	enum TStreamState
-		{
-		EClosed,
-		EStreaming,
-		EPaused,
-		EStopped,
-		};
-		
-	TGavdpState iGavdpState;
-	TStreamState iStreamState;
-	
-	TSBCCodecCapabilities iReconfigInfo;
-	TBool iLocalReconfigure;
-	
-	TUint iDisplayMode;
-	TBool iPreloadFile;
-	
-	CTavsrcController* iController;
-	TBTDevAddr iDevAddr;
-
-	CTavsrcOperations* iOperations;
-	
-	RBuf iFilename;
-	RBTPhysicalLinkAdapter iPhy;
-		
-	TUint iRemConInterfaces;
-	};
-
-#endif // TAVSRC_H