1 /* 2 * Copyright 2021 HIMSA II K/S - www.himsa.com. 3 * Represented by EHIMA - www.ehima.com 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 #pragma once 19 20 #include <base/functional/bind.h> 21 #include <base/functional/callback.h> 22 #include <base/memory/weak_ptr.h> 23 #include <gmock/gmock.h> 24 25 #include <vector> 26 27 #include "include/hardware/ble_advertiser.h" 28 29 class MockBleAdvertisingManager : public BleAdvertiserInterface { 30 public: 31 MockBleAdvertisingManager() = default; 32 MockBleAdvertisingManager(const MockBleAdvertisingManager&) = delete; 33 MockBleAdvertisingManager& operator=(const MockBleAdvertisingManager&) = 34 delete; 35 36 ~MockBleAdvertisingManager() override = default; 37 38 static void Initialize(); 39 static void CleanUp(); 40 static MockBleAdvertisingManager* Get(); 41 42 MOCK_METHOD((void), StartAdvertising, 43 (uint8_t advertiser_id, StatusCallback cb, 44 AdvertiseParameters params, std::vector<uint8_t> advertise_data, 45 std::vector<uint8_t> scan_response_data, int timeout_s, 46 StatusCallback timeout_cb), 47 (override)); 48 MOCK_METHOD((void), StartAdvertisingSet, 49 (uint8_t client_id, int reg_id, 50 IdTxPowerStatusCallback register_cb, AdvertiseParameters params, 51 std::vector<uint8_t> advertise_data, 52 std::vector<uint8_t> scan_response_data, 53 PeriodicAdvertisingParameters periodic_params, 54 std::vector<uint8_t> periodic_data, uint16_t duration, 55 uint8_t maxExtAdvEvents, IdStatusCallback timeout_cb), 56 (override)); 57 MOCK_METHOD((void), RegisterAdvertiser, (IdStatusCallback cb), (override)); 58 MOCK_METHOD((void), Enable, 59 (uint8_t advertiser_id, bool enable, StatusCallback cb, 60 uint16_t duration, uint8_t maxExtAdvEvents, 61 StatusCallback timeout_cb), 62 (override)); 63 MOCK_METHOD((void), SetParameters, 64 (uint8_t advertiser_id, AdvertiseParameters params, 65 ParametersCallback cb), 66 (override)); 67 MOCK_METHOD((void), SetData, 68 (int advertiser_id, bool set_scan_rsp, std::vector<uint8_t> data, 69 StatusCallback cb), 70 (override)); 71 MOCK_METHOD((void), SetPeriodicAdvertisingParameters, 72 (int advertiser_id, PeriodicAdvertisingParameters periodic_params, 73 StatusCallback cb), 74 (override)); 75 MOCK_METHOD((void), SetPeriodicAdvertisingData, 76 (int advertiser_id, std::vector<uint8_t> data, StatusCallback cb), 77 (override)); 78 MOCK_METHOD((void), SetPeriodicAdvertisingEnable, 79 (int advertiser_id, bool enable, bool include_adi, 80 StatusCallback cb), 81 (override)); 82 MOCK_METHOD((void), Unregister, (uint8_t advertiser_id), (override)); 83 MOCK_METHOD((void), GetOwnAddress, 84 (uint8_t advertiser_id, GetAddressCallback cb), (override)); 85 MOCK_METHOD((void), RegisterCallbacks, (AdvertisingCallbacks * callbacks), 86 (override)); 87 MOCK_METHOD((void), RegisterCallbacksNative, 88 (AdvertisingCallbacks * callbacks, uint8_t client_id), 89 (override)); 90 }; 91