• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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