blob: 521a8edeb441259db9c1b86371396d26a613a311 [file] [log] [blame]
// Copyright 2018 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SHILL_SUPPLICANT_SUPPLICANT_INTERFACE_PROXY_INTERFACE_H_
#define SHILL_SUPPLICANT_SUPPLICANT_INTERFACE_PROXY_INTERFACE_H_
#include <string>
#include <vector>
#include "shill/key_value_store.h"
namespace shill {
// SupplicantInterfaceProxyInterface declares only the subset of
// fi::w1::wpa_supplicant1::Interface_proxy that is actually used by WiFi.
class SupplicantInterfaceProxyInterface {
public:
virtual ~SupplicantInterfaceProxyInterface() {}
virtual bool AddNetwork(const KeyValueStore& args,
std::string* network) = 0;
virtual bool EnableHighBitrates() = 0;
virtual bool EAPLogoff() = 0;
virtual bool EAPLogon() = 0;
virtual bool Disconnect() = 0;
virtual bool FlushBSS(const uint32_t& age) = 0;
virtual bool NetworkReply(const std::string& network,
const std::string& field,
const std::string& value) = 0;
virtual bool Reassociate() = 0;
virtual bool Reattach() = 0;
virtual bool RemoveAllNetworks() = 0;
virtual bool RemoveNetwork(const std::string& network) = 0;
virtual bool Roam(const std::string& addr) = 0;
virtual bool Scan(const KeyValueStore& args) = 0;
virtual bool SelectNetwork(const std::string& network) = 0;
virtual bool SetFastReauth(bool enabled) = 0;
virtual bool SetRoamThreshold(uint16_t seconds) = 0;
virtual bool SetScanInterval(int seconds) = 0;
virtual bool SetDisableHighBitrates(bool disable_high_bitrates) = 0;
virtual bool SetSchedScan(bool enable) = 0;
virtual bool SetScan(bool enable) = 0;
virtual bool TDLSDiscover(const std::string& peer) = 0;
virtual bool TDLSSetup(const std::string& peer) = 0;
virtual bool TDLSStatus(const std::string& peer,
std::string* status) = 0;
virtual bool TDLSTeardown(const std::string& peer) = 0;
virtual bool SetHT40Enable(const std::string& network, bool enable) = 0;
virtual bool EnableMACAddressRandomization(
const std::vector<unsigned char>& mask) = 0;
virtual bool DisableMACAddressRandomization() = 0;
};
} // namespace shill
#endif // SHILL_SUPPLICANT_SUPPLICANT_INTERFACE_PROXY_INTERFACE_H_