--- 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