blob: ad848dae104f13a726aadbb841a020418a1a2082 [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() = default;
virtual bool AddNetwork(const KeyValueStore& args,
RpcIdentifier* network) = 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 RpcIdentifier& 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 RpcIdentifier& network) = 0;
virtual bool Roam(const std::string& addr) = 0;
virtual bool Scan(const KeyValueStore& args) = 0;
virtual bool SelectNetwork(const RpcIdentifier& network) = 0;
virtual bool SetFastReauth(bool enabled) = 0;
virtual bool SetScanInterval(int seconds) = 0;
virtual bool SetScan(bool enable) = 0;
virtual bool EnableMacAddressRandomization(
const std::vector<unsigned char>& mask, bool sched_scan) = 0;
virtual bool DisableMacAddressRandomization() = 0;
};
} // namespace shill
#endif // SHILL_SUPPLICANT_SUPPLICANT_INTERFACE_PROXY_INTERFACE_H_