1 /* 2 * Copyright (C) 2023 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef CHRE_UTIL_SYSTEM_BLE_UTIL_H_ 18 #define CHRE_UTIL_SYSTEM_BLE_UTIL_H_ 19 20 #include "chre_api/chre.h" 21 22 namespace chre { 23 24 /** 25 * Populates a legacy chreBleAdvertisingReport's fields with values from the 26 * payload. The chreBleAdvertisingReport is based on the LE Extended Advertising 27 * Report Event defined in the BT Core Spec v5.3, Vol 4, Part E, 28 * Section 7.7.65.13. But for legacy LE Advertising Report Events (BT Core Spec 29 * v5.3, Vol 4, Part E, Section 7.7.65.2), some of these fields are only 30 * included in the payload. We parse out these fields to make it easier for the 31 * nanoapp to access this data. 32 * 33 * @param report CHRE BLE Advertising Report 34 */ 35 void populateLegacyAdvertisingReportFields(chreBleAdvertisingReport &report); 36 37 } // namespace chre 38 39 #endif // CHRE_UTIL_SYSTEM_BLE_UTIL_H_ 40