1 #ifndef _ROUND_TRIP_HCI_H_
2 #define _ROUND_TRIP_HCI_H_
4 #include "fbtHciLocal.h"
6 // Complete round trip HCI abstraction
8 // 2. Wait for Command status / Command complete
10 class CHciRoundTrip
: public CHciLocal
15 virtual ~CHciRoundTrip();
17 virtual DWORD
QueueEvent(BYTE EventCode
, LPVOID pParameters
, DWORD dwParameterLength
);
18 virtual DWORD
WaitForEvent();
20 virtual DWORD
OnEvent(PFBT_HCI_EVENT_HEADER pEvent
, DWORD Length
);
22 virtual DWORD
ReadBDADDR(BYTE
*BDADDR
);
23 virtual DWORD
ReadClassOfDevice(BYTE
*ClassOfDevice
);
24 virtual DWORD
ReadLocalName(BYTE
*Name
);
25 virtual DWORD
CreateConnection(BYTE BD_ADDR
[FBT_HCI_BDADDR_SIZE
],
27 BYTE PageScanRepetitionMode
,
31 USHORT
&ConnectionHandle
);
33 virtual DWORD
Disconnect(USHORT ConnectionHandler
, BYTE Reason
);
34 virtual DWORD
SwitchRole(BYTE BD_ADDR
[FBT_HCI_BDADDR_SIZE
], BYTE Role
);
35 virtual DWORD
RemoteNameRequest(BYTE BD_ADDR
[FBT_HCI_BDADDR_SIZE
],
36 BYTE PageScanRepetitionMode
,
39 BYTE Name
[FBT_HCI_NAME_SIZE
]);
43 LPVOID m_pEventParameters
;
44 DWORD m_dwEventParameterLength
;
46 HANDLE m_hEventSignal
;
51 #endif // _ROUND_TRIP_HCI_H_