/*
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef WIFICOND_TEST_MOCK_NETLINK_UTILS_H_
#define WIFICOND_TEST_MOCK_NETLINK_UTILS_H_
#include <gmock/gmock.h>
#include "wificond/net/netlink_utils.h"
namespace android {
namespace wificond {
class MockNetlinkUtils : public NetlinkUtils {
public:
MockNetlinkUtils(NetlinkManager* netlink_manager);
~MockNetlinkUtils() override = default;
MOCK_METHOD1(GetWiphyIndex, bool(uint32_t* out_wiphy_index));
MOCK_METHOD1(UnsubscribeMlmeEvent, void(uint32_t interface_index));
MOCK_METHOD1(UnsubscribeRegDomainChange, void(uint32_t wiphy_index));
MOCK_METHOD1(UnsubscribeStationEvent, void(uint32_t interface_index));
MOCK_METHOD1(UnsubscribeChannelSwitchEvent, void(uint32_t interface_index));
MOCK_METHOD1(GetProtocolFeatures, bool(uint32_t* features));
MOCK_METHOD2(SetInterfaceMode,
bool(uint32_t interface_index, InterfaceMode mode));
MOCK_METHOD2(SubscribeMlmeEvent,
void(uint32_t interface_index,
MlmeEventHandler* handler));
MOCK_METHOD2(SubscribeRegDomainChange,
void(uint32_t wiphy_index,
OnRegDomainChangedHandler handler));
MOCK_METHOD2(SubscribeStationEvent,
void(uint32_t interface_index,
OnStationEventHandler handler));
MOCK_METHOD2(SubscribeChannelSwitchEvent,
void(uint32_t interface_index,
OnChannelSwitchEventHandler handler));
MOCK_METHOD2(GetInterfaces,
bool(uint32_t wiphy_index,
std::vector<InterfaceInfo>* interfaces));
MOCK_METHOD4(GetWiphyInfo,
bool(uint32_t wiphy_index,
BandInfo* band_info,
ScanCapabilities* scan_capabilities,
WiphyFeatures* wiphy_features));
}; // class MockNetlinkUtils
} // namespace wificond
} // namespace android
#endif // WIFICOND_TEST_MOCK_NETLINK_UTILS_H