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 <gmock/gmock.h> 21 22 #include "state_machine.h" 23 24 class MockLeAudioGroupStateMachine : public le_audio::LeAudioGroupStateMachine { 25 public: 26 MOCK_METHOD( 27 (bool), StartStream, 28 (le_audio::LeAudioDeviceGroup * group, 29 le_audio::types::LeAudioContextType context_type, 30 const le_audio::types::BidirectionalPair<le_audio::types::AudioContexts>& 31 metadata_context_types, 32 le_audio::types::BidirectionalPair<std::vector<uint8_t>> ccid_list), 33 (override)); 34 MOCK_METHOD((bool), AttachToStream, 35 (le_audio::LeAudioDeviceGroup * group, 36 le_audio::LeAudioDevice* leAudioDevice), 37 (override)); 38 MOCK_METHOD((void), SuspendStream, (le_audio::LeAudioDeviceGroup * group), 39 (override)); 40 MOCK_METHOD( 41 (bool), ConfigureStream, 42 (le_audio::LeAudioDeviceGroup * group, 43 le_audio::types::LeAudioContextType context_type, 44 const le_audio::types::BidirectionalPair<le_audio::types::AudioContexts>& 45 metadata_context_types, 46 le_audio::types::BidirectionalPair<std::vector<uint8_t>> ccid_lists), 47 (override)); 48 MOCK_METHOD((void), StopStream, (le_audio::LeAudioDeviceGroup * group), 49 (override)); 50 MOCK_METHOD((void), ProcessGattNotifEvent, 51 (uint8_t * value, uint16_t len, le_audio::types::ase* ase, 52 le_audio::LeAudioDevice* leAudioDevice, 53 le_audio::LeAudioDeviceGroup* group), 54 (override)); 55 56 MOCK_METHOD((void), ProcessHciNotifOnCigCreate, 57 (le_audio::LeAudioDeviceGroup * group, uint8_t status, 58 uint8_t cig_id, std::vector<uint16_t> conn_handles), 59 (override)); 60 MOCK_METHOD((void), ProcessHciNotifOnCigRemove, 61 (uint8_t status, le_audio::LeAudioDeviceGroup* group), 62 (override)); 63 MOCK_METHOD( 64 (void), ProcessHciNotifCisEstablished, 65 (le_audio::LeAudioDeviceGroup * group, 66 le_audio::LeAudioDevice* leAudioDevice, 67 const bluetooth::hci::iso_manager::cis_establish_cmpl_evt* event), 68 (override)); 69 MOCK_METHOD((void), ProcessHciNotifCisDisconnected, 70 (le_audio::LeAudioDeviceGroup * group, 71 le_audio::LeAudioDevice* leAudioDevice, 72 const bluetooth::hci::iso_manager::cis_disconnected_evt* event), 73 (override)); 74 MOCK_METHOD((void), ProcessHciNotifSetupIsoDataPath, 75 (le_audio::LeAudioDeviceGroup * group, 76 le_audio::LeAudioDevice* leAudioDevice, uint8_t status, 77 uint16_t conn_hdl), 78 (override)); 79 MOCK_METHOD((void), ProcessHciNotifRemoveIsoDataPath, 80 (le_audio::LeAudioDeviceGroup * group, 81 le_audio::LeAudioDevice* leAudioDevice, uint8_t status, 82 uint16_t conn_hdl), 83 (override)); 84 MOCK_METHOD((void), Initialize, 85 (le_audio::LeAudioGroupStateMachine::Callbacks * 86 state_machine_callbacks)); 87 MOCK_METHOD((void), Cleanup, ()); 88 MOCK_METHOD((void), ProcessHciNotifIsoLinkQualityRead, 89 (le_audio::LeAudioDeviceGroup * group, 90 le_audio::LeAudioDevice* leAudioDevice, uint8_t conn_handle, 91 uint32_t txUnackedPackets, uint32_t txFlushedPackets, 92 uint32_t txLastSubeventPackets, uint32_t retransmittedPackets, 93 uint32_t crcErrorPackets, uint32_t rxUnreceivedPackets, 94 uint32_t duplicatePackets), 95 (override)); 96 MOCK_METHOD((void), ProcessHciNotifAclDisconnected, 97 (le_audio::LeAudioDeviceGroup * group, 98 le_audio::LeAudioDevice* leAudioDevice), 99 (override)); 100 101 static void SetMockInstanceForTesting(MockLeAudioGroupStateMachine* machine); 102 }; 103