1//
2// Copyright (C) 2012 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 SHILL_SUPPLICANT_MOCK_SUPPLICANT_INTERFACE_PROXY_H_
18#define SHILL_SUPPLICANT_MOCK_SUPPLICANT_INTERFACE_PROXY_H_
19
20#include <map>
21#include <string>
22
23#include <base/macros.h>
24#include <gmock/gmock.h>
25
26#include "shill/refptr_types.h"
27#include "shill/supplicant/supplicant_interface_proxy_interface.h"
28
29namespace shill {
30
31class MockSupplicantInterfaceProxy : public SupplicantInterfaceProxyInterface {
32 public:
33  MockSupplicantInterfaceProxy();
34  ~MockSupplicantInterfaceProxy() override;
35
36  MOCK_METHOD2(AddNetwork,
37               bool(const KeyValueStore& args, std::string* rpc_identifier));
38  MOCK_METHOD0(EnableHighBitrates, bool());
39  MOCK_METHOD0(EAPLogoff, bool());
40  MOCK_METHOD0(EAPLogon, bool());
41  MOCK_METHOD0(Disconnect, bool());
42  MOCK_METHOD1(FlushBSS, bool(const uint32_t& age));
43  MOCK_METHOD3(NetworkReply, bool(const std::string& network,
44                                  const std::string& field,
45                                  const std::string& value));
46  MOCK_METHOD0(Reassociate, bool());
47  MOCK_METHOD0(Reattach, bool());
48  MOCK_METHOD0(RemoveAllNetworks, bool());
49  MOCK_METHOD1(RemoveNetwork, bool(const std::string& network));
50  MOCK_METHOD1(Roam, bool(const std::string& addr));
51  MOCK_METHOD1(Scan, bool(const KeyValueStore& args));
52  MOCK_METHOD1(SelectNetwork, bool(const std::string& network));
53  MOCK_METHOD1(SetFastReauth, bool(bool enabled));
54  MOCK_METHOD1(SetRoamThreshold, bool(uint16_t threshold));
55  MOCK_METHOD1(SetScanInterval, bool(int32_t seconds));
56  MOCK_METHOD1(SetDisableHighBitrates, bool(bool disable_high_bitrates));
57  MOCK_METHOD1(SetSchedScan, bool(bool enable));
58  MOCK_METHOD1(SetScan, bool(bool enable));
59  MOCK_METHOD1(TDLSDiscover, bool(const std::string& peer));
60  MOCK_METHOD1(TDLSSetup, bool(const std::string& peer));
61  MOCK_METHOD2(TDLSStatus, bool(const std::string& peer, std::string* status));
62  MOCK_METHOD1(TDLSTeardown, bool(const std::string& peer));
63  MOCK_METHOD2(SetHT40Enable, bool(const std::string& network, bool enable));
64
65 private:
66  DISALLOW_COPY_AND_ASSIGN(MockSupplicantInterfaceProxy);
67};
68
69}  // namespace shill
70
71#endif  // SHILL_SUPPLICANT_MOCK_SUPPLICANT_INTERFACE_PROXY_H_
72