blob: b09b6c4d60002c44227a62f25de9d27dda9212ab [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_PROCESS_PROXY_INTERFACE_H_
#define SHILL_SUPPLICANT_SUPPLICANT_PROCESS_PROXY_INTERFACE_H_
#include <string>
#include "shill/key_value_store.h"
namespace shill {
// SupplicantProcessProxyInterface declares only the subset of
// fi::w1::wpa_supplicant1_proxy that is actually used by WiFi.
class SupplicantProcessProxyInterface {
public:
virtual ~SupplicantProcessProxyInterface() = default;
virtual bool CreateInterface(const KeyValueStore& args,
RpcIdentifier* rpc_identifier) = 0;
virtual bool GetInterface(const std::string& ifname,
RpcIdentifier* rpc_identifier) = 0;
virtual bool RemoveInterface(const RpcIdentifier& rpc_identifier) = 0;
virtual bool SetDebugLevel(const std::string& level) = 0;
virtual bool GetDebugLevel(std::string* level) = 0;
virtual bool ExpectDisconnect() = 0;
};
} // namespace shill
#endif // SHILL_SUPPLICANT_SUPPLICANT_PROCESS_PROXY_INTERFACE_H_