1 /* 2 * Copyright 2021 HIMSA II K/S - www.himsa.dk. 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 #pragma once 18 19 #include <base/callback.h> 20 #include <gmock/gmock.h> 21 22 #include "hcimsgs.h" 23 24 namespace controller { 25 class ControllerInterface { 26 public: 27 virtual uint8_t GetIsoBufferCount(void) = 0; 28 virtual uint16_t GetIsoDataSize(void) = 0; 29 virtual bool SupportsBleConnectedIsochronousStreamCentral(void) = 0; 30 virtual bool SupportsBleConnectedIsochronousStreamPeripheral(void) = 0; 31 virtual bool SupportsBleIsochronousBroadcaster(void) = 0; 32 virtual bool SupportsBle2mPhy(void) = 0; 33 34 virtual ~ControllerInterface() = default; 35 }; 36 37 class MockControllerInterface : public ControllerInterface { 38 public: 39 MOCK_METHOD((uint8_t), GetIsoBufferCount, (), (override)); 40 MOCK_METHOD((uint16_t), GetIsoDataSize, (), (override)); 41 MOCK_METHOD((bool), SupportsBleConnectedIsochronousStreamCentral, (), 42 (override)); 43 MOCK_METHOD((bool), SupportsBleConnectedIsochronousStreamPeripheral, (), 44 (override)); 45 MOCK_METHOD((bool), SupportsBleIsochronousBroadcaster, (), (override)); 46 MOCK_METHOD((bool), SupportsBle2mPhy, (), (override)); 47 }; 48 49 void SetMockControllerInterface( 50 MockControllerInterface* mock_controller_interface); 51 } // namespace controller 52