blob: aa9afcb6adb3b63bc841627db5ba5da6f05683cb [file] [log] [blame]
mukesh agrawalf2028172012-03-13 14:20:22 -07001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
mukesh agrawalaf571952011-07-14 14:31:12 -07002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef SUPPLICANT_INTERFACE_PROXY_INTERFACE_H_
6#define SUPPLICANT_INTERFACE_PROXY_INTERFACE_H_
7
8#include <map>
9#include <string>
10
11#include <dbus-c++/dbus.h>
12
13namespace shill {
14
15// SupplicantInterfaceProxyInterface declares only the subset of
16// fi::w1::wpa_supplicant1::Interface_proxy that is actually used by WiFi.
17class SupplicantInterfaceProxyInterface {
18 public:
19 virtual ~SupplicantInterfaceProxyInterface() {}
20
21 virtual ::DBus::Path AddNetwork(
22 const std::map<std::string, ::DBus::Variant> &args) = 0;
Christopher Wiley5519e9e2013-01-08 16:55:56 -080023 virtual void EnableHighBitrates() = 0;
Paul Stewartbe9abfd2013-04-22 12:18:48 -070024 virtual void EAPLogoff() = 0;
25 virtual void EAPLogon() = 0;
mukesh agrawal0ed0f2e2011-12-05 20:36:17 +000026 virtual void Disconnect() = 0;
mukesh agrawalaf571952011-07-14 14:31:12 -070027 virtual void FlushBSS(const uint32_t &age) = 0;
Paul Stewart3c508e12012-08-09 11:40:06 -070028 virtual void Reassociate() = 0;
mukesh agrawalaf571952011-07-14 14:31:12 -070029 virtual void RemoveAllNetworks() = 0;
mukesh agrawal15908392011-11-16 18:29:25 +000030 virtual void RemoveNetwork(const ::DBus::Path &network) = 0;
mukesh agrawalaf571952011-07-14 14:31:12 -070031 virtual void Scan(
32 const std::map<std::string, ::DBus::Variant> &args) = 0;
33 virtual void SelectNetwork(const ::DBus::Path &network) = 0;
Paul Stewart2987dcf2012-01-30 15:47:42 -080034 virtual void SetFastReauth(bool enabled) = 0;
mukesh agrawalf2028172012-03-13 14:20:22 -070035 virtual void SetScanInterval(int seconds) = 0;
Christopher Wiley5519e9e2013-01-08 16:55:56 -080036 virtual void SetDisableHighBitrates(bool disable_high_bitrates) = 0;
mukesh agrawalaf571952011-07-14 14:31:12 -070037};
38
39} // namespace shill
40
41#endif // SUPPLICANT_INTERFACE_PROXY_INTERFACE_H_