bluetoothappprofiles/avrcp/remconbeareravrcp/inc/avrcpincomingcommandhandler.h
changeset 42 b72428996822
parent 0 f63038272f30
equal deleted inserted replaced
32:19bd632b5100 42:b72428996822
    30 #include "avrcpplayerinfomanager.h"
    30 #include "avrcpplayerinfomanager.h"
    31 #include "commandhandlerinterface.h"
    31 #include "commandhandlerinterface.h"
    32 
    32 
    33 class CPassthroughHelper;
    33 class CPassthroughHelper;
    34 class CRcpRouter;
    34 class CRcpRouter;
    35 class CRemConBearerAvrcp;
    35 class MRemConControlCommandInterface;
    36 class CAVCFrame;
    36 class CAVCFrame;
    37 class TBTDevAddr;
    37 class TBTDevAddr;
    38 NONSHARABLE_CLASS(CRcpIncomingCommandHandler) : public CBase, public MPlayerChangeObserver, public MIncomingCommandHandler
    38 NONSHARABLE_CLASS(CRcpIncomingCommandHandler) : public CBase, public MPlayerChangeObserver, public MIncomingCommandHandler
    39 	{
    39 	{
    40 public:
    40 public:
    41 	static CRcpIncomingCommandHandler* NewL(CRemConBearerAvrcp& aBearer, 
    41 	static CRcpIncomingCommandHandler* NewL(MRemConControlCommandInterface& aCommandInterface, 
    42 		MRemConBearerObserver& aObserver,
    42 		MRemConBearerObserver& aObserver,
    43 		CRcpRouter& aRouter,
    43 		CRcpRouter& aRouter,
    44 		CDeltaTimer& aTimer,
    44 		CDeltaTimer& aTimer,
    45 		CAvrcpPlayerInfoManager& aPlayerInfoManager, TBTDevAddr& aDevice);
    45 		CAvrcpPlayerInfoManager& aPlayerInfoManager, TBTDevAddr& aDevice);
    46 	void ConstructL();
    46 	void ConstructL();
    57 	
    57 	
    58 	TInt SendRemConResponse(TUid aInterfaceUid, TUint aId, RBuf8& aData);
    58 	TInt SendRemConResponse(TUid aInterfaceUid, TUint aId, RBuf8& aData);
    59 	void SendReject(TUid aInterfaceUid, TUint aId);
    59 	void SendReject(TUid aInterfaceUid, TUint aId);
    60 
    60 
    61 private:
    61 private:
    62 	CRcpIncomingCommandHandler(CRemConBearerAvrcp& aBearer, 
    62 	CRcpIncomingCommandHandler(MRemConControlCommandInterface& aCommandInterface, 
    63 		MRemConBearerObserver& aObserver,
    63 		MRemConBearerObserver& aObserver,
    64 		CRcpRouter& aRouter,
    64 		CRcpRouter& aRouter,
    65 		CDeltaTimer& aTimer,
    65 		CDeltaTimer& aTimer,
    66 		CAvrcpPlayerInfoManager& aPlayerInfoManager,
    66 		CAvrcpPlayerInfoManager& aPlayerInfoManager,
    67 		TBTDevAddr& aDevice);
    67 		TBTDevAddr& aDevice);
    90 	TInt HandleUidChangedNotification( CControlCommand& aCommand);
    90 	TInt HandleUidChangedNotification( CControlCommand& aCommand);
    91 	void DoHandleUidChangedNotificationL(RBuf8& aResponseData, TUint16 aUidCounter);
    91 	void DoHandleUidChangedNotificationL(RBuf8& aResponseData, TUint16 aUidCounter);
    92 
    92 
    93 	void SendInternalResponse(TUint aId, RBuf8& aData);
    93 	void SendInternalResponse(TUint aId, RBuf8& aData);
    94 	void SendResponse(TDblQue<CControlCommand>& aCommandQueue, TUint aId, RBuf8& aData);
    94 	void SendResponse(TDblQue<CControlCommand>& aCommandQueue, TUint aId, RBuf8& aData);
       
    95 	
       
    96 	void EnterAddressedMode();
    95 
    97 
    96 	// Timer functions
    98 	// Timer functions
    97 	TBool DuplicateNotify(TDblQue<CControlCommand>& aCommandQueue, const CControlCommand& aCommand) const;
    99 	TBool DuplicateNotify(TDblQue<CControlCommand>& aCommandQueue, const CControlCommand& aCommand) const;
    98 	CControlCommand* FindNotify(TDblQue<CControlCommand>& aCommandQueue, TUid aInterfaceUid, TUint aOperationId);
   100 	CControlCommand* FindNotify(TDblQue<CControlCommand>& aCommandQueue, TUid aInterfaceUid, TUint aOperationId);
    99 private:
   101 private:
   100 	TDblQue<CControlCommand>	iCommandQueue;
   102 	TDblQue<CControlCommand>	iCommandQueue;
   101 	TDblQue<CControlCommand>	iInternalCommandQueue;
   103 	TDblQue<CControlCommand>	iInternalCommandQueue;
   102 	
   104 	
   103 	CAVRCPFragmenter*		iFragmenter;
   105 	CAVRCPFragmenter*					iFragmenter;
   104 	CRemConBearerAvrcp&		iBearer;
   106 	MRemConControlCommandInterface&		iCommandInterface;
   105 	MRemConBearerObserver&	iObserver;
   107 	MRemConBearerObserver&				iObserver;
   106 	CRcpRouter&				iRouter;
   108 	CRcpRouter&							iRouter;
   107 	CDeltaTimer& 			iTimer;
   109 	CDeltaTimer& 						iTimer;
   108 	TRemConClientId			iClientId; // We store the client id even if we aren't
   110 	TRemConClientId						iClientId;	// We store the client id even if we aren't
   109 									   // in addressed mode as we may switch into
   111 													// in addressed mode as we may switch into
   110 									   // it and need to know the current local
   112 													// it and need to know the current local
   111 									   // addressed player
   113 													// addressed player
   112 	TBool					iAddressedMode;
   114 	TBool					iAddressedMode;
   113 	
   115 	
   114 	CAvrcpPlayerInfoManager&	iPlayerInfoManager;
   116 	CAvrcpPlayerInfoManager&	iPlayerInfoManager;
   115 	TBTDevAddr&					iDevice;
   117 	TBTDevAddr&					iDevice;
   116 	
   118