1 /*
2  * Copyright (C) 2016 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef WIFICOND_TEST_MOCK_NETLINK_UTILS_H_
18 #define WIFICOND_TEST_MOCK_NETLINK_UTILS_H_
19 
20 #include <gmock/gmock.h>
21 
22 #include "wificond/net/netlink_utils.h"
23 
24 namespace android {
25 namespace wificond {
26 
27 class MockNetlinkUtils : public NetlinkUtils {
28  public:
29   MockNetlinkUtils(NetlinkManager* netlink_manager);
30   ~MockNetlinkUtils() override = default;
31 
32   MOCK_METHOD1(GetWiphyIndex, bool(uint32_t* out_wiphy_index));
33   MOCK_METHOD2(GetWiphyIndex,
34                bool(uint32_t* out_wiphy_index, const std::string& iface_name));
35   MOCK_METHOD1(UnsubscribeMlmeEvent, void(uint32_t interface_index));
36   MOCK_METHOD1(UnsubscribeRegDomainChange, void(uint32_t wiphy_index));
37   MOCK_METHOD1(UnsubscribeStationEvent, void(uint32_t interface_index));
38   MOCK_METHOD1(UnsubscribeChannelSwitchEvent, void(uint32_t interface_index));
39   MOCK_METHOD1(UnsubscribeFrameTxStatusEvent, void(uint32_t interface_index));
40   MOCK_METHOD1(GetProtocolFeatures, bool(uint32_t* features));
41 
42   MOCK_METHOD2(SetInterfaceMode,
43                bool(uint32_t interface_index, InterfaceMode mode));
44   MOCK_METHOD2(SubscribeMlmeEvent,
45                void(uint32_t interface_index,
46                     MlmeEventHandler* handler));
47   MOCK_METHOD2(SubscribeRegDomainChange,
48                void(uint32_t wiphy_index,
49                     OnRegDomainChangedHandler handler));
50   MOCK_METHOD2(SubscribeStationEvent,
51                void(uint32_t interface_index,
52                     OnStationEventHandler handler));
53   MOCK_METHOD2(SubscribeChannelSwitchEvent,
54                void(uint32_t interface_index,
55                     OnChannelSwitchEventHandler handler));
56   MOCK_METHOD2(SubscribeFrameTxStatusEvent,
57                void(uint32_t interface_index,
58                     OnFrameTxStatusEventHandler handler));
59 
60   MOCK_METHOD2(GetInterfaces,
61                bool(uint32_t wiphy_index,
62                     std::vector<InterfaceInfo>* interfaces));
63   MOCK_METHOD4(GetWiphyInfo,
64                bool(uint32_t wiphy_index,
65                     BandInfo* band_info,
66                     ScanCapabilities* scan_capabilities,
67                     WiphyFeatures* wiphy_features));
68   MOCK_METHOD4(SendMgmtFrame,
69                bool(uint32_t interface_index,
70                     const std::vector<uint8_t>& frame,
71                     int32_t mcs,
72                     uint64_t* out_cookie));
73 
74 };  // class MockNetlinkUtils
75 
76 }  // namespace wificond
77 }  // namespace android
78 
79 #endif  // WIFICOND_TEST_MOCK_NETLINK_UTILS_H
80