bluetoothappprofiles/avrcp/remconbeareravrcp/inc/controlbearer.h
changeset 70 f5508c13dfe0
parent 67 16e4b9007960
child 71 083fd884d7dd
--- a/bluetoothappprofiles/avrcp/remconbeareravrcp/inc/controlbearer.h	Wed Oct 13 13:15:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-// Copyright (c) 2008-2010 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 CONTROLBEARER_H
-#define CONTROLBEARER_H
-
-/**
-@file
-@internalComponent
-@released
-*/
-
-#include <avctpservices.h>
-#include <btsdp.h>
-#include <e32std.h>
-#include <remcon/clientid.h>
-#include <remcon/remconbearerinterface.h>
-#include <remcon/remconbearerplugin.h>
-#include <remcon/avrcpspec.h>
-#include <remcon/messagetype.h>
-#include <remcon/playertype.h>
-#include "avrcpbearerinterface.h"
-#include "remconcommandinterface.h"
-
-class CControlCommand;
-class CRcpRemoteDevice;
-class CControlRouter;
-class TBTDevAddr;
-class CBrowseCommand;
-class CAvrcpPlayerInfoManager;
-class CAvrcpBulkBearer;
-
-NONSHARABLE_CLASS(CRemConBearerAvrcp) : public CRemConBearerPlugin, public MRemConBearerInterfaceV3,
-	public MAvrcpBearer, public MRemConControlCommandInterface
-	{
-public:
-	static CRemConBearerAvrcp* NewL(TBearerParams& aParams);	
-	virtual ~CRemConBearerAvrcp();	
-		
-public:	// Interface to command handlers, from MRemConCommandInterface
-	void MrcciNewCommand(CAvrcpCommand& aCommand);
-	void MrcciNewCommand(CAvrcpCommand& aCommand, const TRemConClientId& aClientId);
-	void MrccciNewNotifyCommand(CAvrcpCommand& aCommand);
-	void MrccciNewNotifyCommand(CAvrcpCommand& aCommand, const TRemConClientId& aClientId);
-
-	void MrccciNewResponse(CAvrcpCommand& aCommand);
-	void MrccciNewNotifyResponse(CControlCommand& aCommand);
-	
-	TUint MrcciNewTransactionId();
-    void MrcciCommandExpired(TUint aTransactionId);
-    
-	void MrccciSetAddressedClient(const TRemConClientId& aClient);
-	void MrccciRegisterForLocalAddressedClientUpdates();
-	void MrccciUnregisterForLocalAddressedClientUpdates();
-
-private: // MRemConBearerInterfaceV3 functions called from RemCon
-	virtual TInt GetResponse(TUid& aInterfaceUid, 
-		TUint& aId, 
-		TUint& aOperationId, 
-		RBuf8& aCommandData, 
-		TRemConAddress& aAddr);
-			
-	virtual TInt SendCommand(TUid aInterfaceUid, 
-		TUint aOperationId, 
-		TUint aId,  
-		RBuf8& aData, 
-		const TRemConAddress& aAddr);
-		
-	virtual TInt GetCommand(TUid& aInterfaceUid, 
-		TUint& aId, 
-		TUint& aOperationId, 
-		RBuf8& aCommandData, 
-		TRemConAddress& aAddr);	
-	
-	virtual TInt GetNotifyCommand(TUid& aInterfaceUid, 
-		TUint& aId, 
-		TUint& aOperationId, 
-		RBuf8& aCommandData, 
-		TRemConAddress& aAddr);	
-			
-	virtual CAvrcpCommand* GetFirstCommand(TDblQue<CAvrcpCommand>& aQue,
-		TUid& aInterfaceUid, 
-		TUint& aId, 
-		TUint& aOperationId, 
-		RBuf8& aCommandData, 
-		TRemConAddress& aAddr);
-		
-	virtual TInt SendResponse(TUid aInterfaceUid, 
-		TUint aOperationId, 
-		TUint aId, 
-		RBuf8& aData, 
-		const TRemConAddress& aAddr);
-	
-	virtual void SendReject(TUid aInterfaceUid, 
-			TUint aOperationId, 
-			TUint aTransactionId, 
-			const TRemConAddress& aAddr); 
-	virtual void ConnectRequest(const TRemConAddress& aAddr);
-	virtual void DisconnectRequest(const TRemConAddress& aAddr);	
-	
-	virtual TSecurityPolicy SecurityPolicy() const;
-	void ClientStatus(TBool aControllerPresent, TBool aTargetPresent);	
-	virtual void ClientAvailable(TRemConClientId& aId, TPlayerType aClientType, TPlayerSubType aClientSubType, const TDesC8& aName);
-	virtual void ClientNotAvailable(TRemConClientId& aId);
-	virtual void ControllerFeaturesUpdated(RArray<TUid>& aSupportedInterfaces);
-	
-	virtual TInt SetLocalAddressedClient(TRemConClientId& aId);
-	
-	virtual void TargetFeaturesUpdated(const TRemConClientId& aId, TPlayerType aPlayerType, TPlayerSubType aPlayerSubType, const TDesC8& aName);
-	
-private: // from CRemConBearerPlugin
-	TAny* GetInterface(TUid aUid);
-	
-private:	
-	// from MAvrcpBearer called from router
-	void ConnectIndicate(const TBTDevAddr& aBTDevice);
-	void ConnectConfirm(const TBTDevAddr& aBTDevice, TInt aError);
-	void DisconnectIndicate(const TBTDevAddr& aBTDevice);
-	void DisconnectConfirm(const TBTDevAddr& aBTDevice, TInt aError);
-	
-	MIncomingCommandHandler* IncomingHandler(const TBTDevAddr& aAddr);
-	MOutgoingCommandHandler* OutgoingHandler(const TBTDevAddr& aAddr);
-	
-private:
-	// MRemConBearerInterfaceV3 plugin functions called from RemCon
-	virtual TInt SendNotifyCommand(TUid aInterfaceUid, 
-			TUint aOperationId, 
-			TUint aId,  
-			RBuf8& aData, 
-			const TRemConAddress& aAddr);
-	
-	virtual TInt GetNotifyResponse(TUid& aInterfaceUid, 
-			TUint& aId, 
-			TUint& aOperationId, 
-			RBuf8& aCommandData, 
-			TRemConAddress& aAddr,
-			TRemConMessageSubType& aSubMessageType);
-
-private:
-	enum TAvrcpRecordType
-		{
-		EAvrcpRemoteControlRecord,
-		EAvrcpRemoteControlTargetRecord,
-		};
-
-private:
-	CRemConBearerAvrcp(TBearerParams& aParams);
-	void ConstructL();
-	
-	// utility functions
-	CRcpRemoteDevice* RemoteDevice(const TBTDevAddr& aAddr);
-	
-	void UpdateServiceRecordL(RSdpDatabase& aSdpDatabase,
-		TBool aController,
-		TBool aTarget);
-	void RegisterServiceRecordL(RSdpDatabase& aSdpDatabase,
-		TAvrcpRecordType aType);
-	
-	void HandleUndeliveredCommand(CAvrcpCommand& aCommand, const TRemConAddress& aAddr);
-	
-private:
-	TDblQue<CRcpRemoteDevice>	iRemotes;
-	TDblQue<CAvrcpCommand>		iReadyCommands;
-	TDblQue<CAvrcpCommand>		iReadyResponses;
-	TDblQue<CControlCommand>	iReadyNotifyResponses;
-	TDblQue<CAvrcpCommand>		iReadyNotifyCommands;
-	CControlRouter*				iRouter;
-	CDeltaTimer*				iTimer;
-	RSdp						iSdp;
-	TSdpServRecordHandle		iControllerSdpRecordHandle;
-	TSdpServRecordHandle		iTargetSdpRecordHandle;
-	TBool						iConstructionComplete;
-	CAvrcpPlayerInfoManager*	iPlayerInfoManager;
-	MIncomingCommandHandler*	iInternalHandler;
-	
-	CAvrcpBulkBearer*			iBulkBearer;
-	
-	RAvctp						iAvctp;
-	
-	TInt						iRemotesInterestedInLocalAddressedClient;
-	};
-
-#endif //CONTROLBEARER_H