| /****************************************************************************** |
| * |
| * Copyright 2005-2012 Broadcom Corporation |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at: |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| ******************************************************************************/ |
| |
| /****************************************************************************** |
| * |
| * This is the interface file for hid host call-out functions. |
| * |
| ******************************************************************************/ |
| #ifndef BTA_HH_CO_H |
| #define BTA_HH_CO_H |
| |
| #include <cstdint> |
| |
| #include "bta/include/bta_hh_api.h" |
| #include "types/raw_address.h" |
| |
| typedef struct { |
| uint16_t rpt_uuid; |
| uint8_t rpt_id; |
| tBTA_HH_RPT_TYPE rpt_type; |
| uint8_t srvc_inst_id; |
| uint16_t char_inst_id; |
| } tBTA_HH_RPT_CACHE_ENTRY; |
| |
| /******************************************************************************* |
| * |
| * Function bta_hh_co_data |
| * |
| * Description This callout function is executed by HH when data is |
| * received |
| * in interupt channel. |
| * |
| * |
| * Returns void. |
| * |
| ******************************************************************************/ |
| void bta_hh_co_data(uint8_t dev_handle, uint8_t* p_rpt, uint16_t len, |
| tBTA_HH_PROTO_MODE mode, uint8_t sub_class, |
| uint8_t ctry_code, const tAclLinkSpec& link_spec, |
| uint8_t app_id); |
| |
| /******************************************************************************* |
| * |
| * Function bta_hh_co_open |
| * |
| * Description This callout function is executed by HH when connection is |
| * opened, and application may do some device specific |
| * initialization. |
| * |
| * Returns True if platform specific initialization is successful |
| * |
| ******************************************************************************/ |
| bool bta_hh_co_open(uint8_t dev_handle, uint8_t sub_class, uint16_t attr_mask, |
| uint8_t app_id); |
| |
| /******************************************************************************* |
| * |
| * Function bta_hh_co_set_rpt_rsp |
| * |
| * Description This callout function is executed by HH when Set Report |
| * Response is received on Control Channel. |
| * |
| * Returns void. |
| * |
| ******************************************************************************/ |
| void bta_hh_co_set_rpt_rsp(uint8_t dev_handle, uint8_t status); |
| |
| /******************************************************************************* |
| * |
| * Function bta_hh_co_get_rpt_rsp |
| * |
| * Description This callout function is executed by HH when Get Report |
| * Response is received on Control Channel. |
| * |
| * Returns void. |
| * |
| ******************************************************************************/ |
| void bta_hh_co_get_rpt_rsp(uint8_t dev_handle, uint8_t status, |
| const uint8_t* p_rpt, uint16_t len); |
| |
| /******************************************************************************* |
| * |
| * Function bta_hh_le_co_rpt_info |
| * |
| * Description This callout function is to convey the report information on |
| * a HOGP device to the application. Application can save this |
| * information in NV if device is bonded and load it back when |
| * stack reboot. |
| * |
| * Parameters link_spec - acl link specification |
| * p_entry - report entry pointer |
| * app_id - application id |
| * |
| * Returns void. |
| * |
| ******************************************************************************/ |
| void bta_hh_le_co_rpt_info(const tAclLinkSpec& link_spec, |
| tBTA_HH_RPT_CACHE_ENTRY* p_entry, uint8_t app_id); |
| |
| /******************************************************************************* |
| * |
| * Function bta_hh_le_co_cache_load |
| * |
| * Description This callout function is to request the application to load |
| * the cached HOGP report if there is any. When cache reading |
| * is completed, bta_hh_le_ci_cache_load() is called by the |
| * application. |
| * |
| * Parameters link_spec - acl link specification |
| * p_num_rpt: number of cached report |
| * app_id - application id |
| * |
| * Returns the acched report array |
| * |
| ******************************************************************************/ |
| tBTA_HH_RPT_CACHE_ENTRY* bta_hh_le_co_cache_load(const tAclLinkSpec& link_spec, |
| uint8_t* p_num_rpt, |
| uint8_t app_id); |
| |
| /******************************************************************************* |
| * |
| * Function bta_hh_le_co_reset_rpt_cache |
| * |
| * Description This callout function is to reset the HOGP device cache. |
| * |
| * Parameters link_spec - acl link specification |
| * |
| * Returns none |
| * |
| ******************************************************************************/ |
| void bta_hh_le_co_reset_rpt_cache(const tAclLinkSpec& link_spec, |
| uint8_t app_id); |
| |
| #endif /* BTA_HH_CO_H */ |