bt_mt_meta.h
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:3k
源码类别:

MTK

开发平台:

C++ Builder

  1. #ifndef _BT_MT_META_H_
  2. #define _BT_MT_META_H_
  3. //=============================================================================
  4. // common
  5. #ifndef META_DLL_H
  6. #include "meta.h"
  7. #endif
  8. #ifndef  _MAN_HANDLE_H_
  9. #include "man_handle.h"
  10. #endif
  11. #ifndef  _METAAPP_COMMON_H_
  12. #include "metaapp_common.h"
  13. #endif
  14. // BT
  15. #ifndef _BT_MT_COMMON_H_
  16. #include "bt_mt_common.h"
  17. #endif
  18. typedef struct
  19. {
  20.     E_BT_DEVICE_T e_bt_device;
  21.     E_BT_TRANS_T e_bt_trans[2];
  22.     BT_HCI_COMMAND s_hci_cmd;
  23.     int i_event_num;
  24.     BT_HCI_EVENT s_hci_event[MAX_EVENT_NUM];
  25.     int i_auto_event_num;
  26.     BT_HCI_EVENT s_hci_auto_event[MAX_EVENT_NUM];
  27. }BT_META_HCI_T;
  28. typedef struct
  29. {
  30.     E_BT_DEVICE_T e_bt_device;
  31.     E_BT_TRANS_T e_bt_trans[2];
  32.     //BT_HCI_COMMAND s_hci_cmd;
  33.     BT_HCI_BUFFER s_tx_acl_data;
  34.     BT_HCI_BUFFER s_rx_acl_data;
  35.     int i_event_num;
  36.     BT_HCI_EVENT s_hci_event[MAX_EVENT_NUM];
  37. }BT_META_ACL_DATA_T;
  38. //-----------------------------------------------
  39. class CBTMTMETA
  40. {
  41. private:
  42.     bool m_bEventOk;
  43.     bool m_bAclDataOk;
  44.     CMETAHANDLE m_META_HANDLE_Obj;
  45.     //unsigned char m_ucEventBuf[HCIEVENTBUFSIZE];      // binary format
  46.     //int m_iEventLen;
  47.     //int m_iEventType;
  48.     int m_iEventIdx;
  49.     int m_iAutoEventIdx;
  50.     BT_META_HCI_T m_sHciCmd;
  51.     bool m_bRegAutoCallback[2];
  52.     bool m_bCallAutoCallback[2];
  53.     BT_META_ACL_DATA_T m_sTxAclData;
  54.     BT_META_ACL_DATA_T m_sRxAclData;
  55.     bool m_bRegAclRxCallback[2];
  56.     bool m_bCallAclRxCallback[2];
  57. protected:
  58.     void ConsumeErrorEvent(void);
  59. //public:
  60. public:
  61.     CBTMTMETA(void);
  62.     CBTMTMETA(int port_no, int ena_flowctrl);
  63.     bool RegAutoCallBack0(void);
  64.     bool SendCommand(BT_META_HCI_T cmd);
  65.     bool RegAclRxData0(void);
  66.     bool SendAclData(BT_META_ACL_DATA_T acl_data);
  67.     // call back
  68.     void __stdcall CNF_AutoHCIEvent0(const BT_HCI_EVENT *cnf, const short token, void *usrData);
  69.     void __stdcall CNF_AutoHCIEvent1(const BT_HCI_EVENT *cnf, const short token, void *usrData);
  70.     void __stdcall CNF_HCIEvent0(const BT_HCI_EVENT *cnf, const short token, void *usrData);
  71.     void __stdcall CNF_HCIEvent1(const BT_HCI_EVENT *cnf, const short token, void *usrData);
  72.     void __stdcall CNF_RxAclCallback0(const BT_HCI_BUFFER *cnf, const short token, void *usrData);
  73.     void __stdcall CNF_RxAclCallback1(const BT_HCI_BUFFER *cnf, const short token, void *usrData);
  74.     void __stdcall CNF_TxAclCallback0(const BT_HCI_PACKET *cnf, const short token, void *usrData);
  75.     void __stdcall CNF_TxAclCallback1(const BT_HCI_PACKET *cnf, const short token, void *usrData);
  76.     // export information
  77.     bool Get_EventOk(void);
  78.     bool Get_CallAutoCallback(int idx);
  79.     void Set_HciCmd(BT_META_HCI_T cmd);
  80. };
  81. //=============================================================================
  82. #endif