10a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//
25b790feeeb211c42bf78ca3ae9c26aa30e516765Jakub Pawlowski//  Copyright 2015 Google, Inc.
30a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//
40a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//  Licensed under the Apache License, Version 2.0 (the "License");
50a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//  you may not use this file except in compliance with the License.
60a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//  You may obtain a copy of the License at:
70a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//
80a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//  http://www.apache.org/licenses/LICENSE-2.0
90a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//
100a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//  Unless required by applicable law or agreed to in writing, software
110a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//  distributed under the License is distributed on an "AS IS" BASIS,
120a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//  See the License for the specific language governing permissions and
140a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//  limitations under the License.
150a0d3932136995a722cc125ef920679113d8ce0fArman Uguray//
160a0d3932136995a722cc125ef920679113d8ce0fArman Uguray
170a0d3932136995a722cc125ef920679113d8ce0fArman Uguray#pragma once
180a0d3932136995a722cc125ef920679113d8ce0fArman Uguray
190a0d3932136995a722cc125ef920679113d8ce0fArman Uguray#include <gmock/gmock.h>
200a0d3932136995a722cc125ef920679113d8ce0fArman Uguray
210a0d3932136995a722cc125ef920679113d8ce0fArman Uguray#include "service/daemon.h"
220a0d3932136995a722cc125ef920679113d8ce0fArman Uguray
230a0d3932136995a722cc125ef920679113d8ce0fArman Uguraynamespace bluetooth {
240a0d3932136995a722cc125ef920679113d8ce0fArman Uguraynamespace testing {
250a0d3932136995a722cc125ef920679113d8ce0fArman Uguray
260a0d3932136995a722cc125ef920679113d8ce0fArman Ugurayclass MockAdapter : public Adapter {
270a0d3932136995a722cc125ef920679113d8ce0fArman Uguray public:
280a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MockAdapter() = default;
290a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  ~MockAdapter() override = default;
300a0d3932136995a722cc125ef920679113d8ce0fArman Uguray
310a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_METHOD1(AddObserver, void(Observer*));
320a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_METHOD1(RemoveObserver, void(Observer*));
330a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_CONST_METHOD0(GetState, AdapterState());
340a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_CONST_METHOD0(IsEnabled, bool());
357b266be449e4f915c419199c2312eb31f70e63bcAjay Panicker  MOCK_METHOD1(Enable, bool(bool));
360a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_METHOD0(Disable, bool());
370a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_CONST_METHOD0(GetName, std::string());
380a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_METHOD1(SetName, bool(const std::string&));
390a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_CONST_METHOD0(GetAddress, std::string());
400a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_METHOD0(IsMultiAdvertisementSupported, bool());
410a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_METHOD1(IsDeviceConnected, bool(const std::string&));
420a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_METHOD0(GetTotalNumberOfTrackableAdvertisements, int());
430a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_METHOD0(IsOffloadedFilteringSupported, bool());
440a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_METHOD0(IsOffloadedScanBatchingSupported, bool());
450a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_CONST_METHOD0(GetLowEnergyClientFactory, LowEnergyClientFactory*());
4667d5a2523314d9757b2472c3e828dbc1015df4feJakub Pawlowski  MOCK_CONST_METHOD0(GetLeAdvertiserFactory, LowEnergyAdvertiserFactory*());
47c3f6a51615c4f26bce0b8b6e16757610dbd0b45bJakub Pawlowski  MOCK_CONST_METHOD0(GetLeScannerFactory, LowEnergyScannerFactory*());
480a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_CONST_METHOD0(GetGattClientFactory, GattClientFactory*());
490a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  MOCK_CONST_METHOD0(GetGattServerFactory, GattServerFactory*());
500a0d3932136995a722cc125ef920679113d8ce0fArman Uguray
510a0d3932136995a722cc125ef920679113d8ce0fArman Uguray private:
520a0d3932136995a722cc125ef920679113d8ce0fArman Uguray  DISALLOW_COPY_AND_ASSIGN(MockAdapter);
530a0d3932136995a722cc125ef920679113d8ce0fArman Uguray};
540a0d3932136995a722cc125ef920679113d8ce0fArman Uguray
550a0d3932136995a722cc125ef920679113d8ce0fArman Uguray}  // namespace testing
560a0d3932136995a722cc125ef920679113d8ce0fArman Uguray}  // namespace bluetooth
57