blob: 8c590432dc937a8cb0131da6e065fe9e9ac097b4 [file] [log] [blame]
Paul Stewart196f50f2013-03-27 18:02:11 -07001// Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Ben Chanc45688b2014-07-02 23:50:45 -07005#ifndef SHILL_SUPPLICANT_EVENT_DELEGATE_INTERFACE_H_
6#define SHILL_SUPPLICANT_EVENT_DELEGATE_INTERFACE_H_
Paul Stewart196f50f2013-03-27 18:02:11 -07007
8#include <map>
9#include <string>
10
11#include <dbus-c++/dbus.h>
12
13namespace shill {
14
15// SupplicantEventDelegateInterface declares the set of methods that
16// a SupplicantInterfaceProxy calls on an interested party when
17// wpa_supplicant events occur on the network interface interface.
18class SupplicantEventDelegateInterface {
19 public:
20 typedef std::map<std::string, ::DBus::Variant> PropertyMap;
21
22 virtual ~SupplicantEventDelegateInterface() {}
23
Paul Stewart9413bcc2013-04-04 16:12:43 -070024 // Supplicant has added a BSS to its table of visible endpoints.
Paul Stewart196f50f2013-03-27 18:02:11 -070025 virtual void BSSAdded(const ::DBus::Path &BSS,
26 const PropertyMap &properties) = 0;
Paul Stewart9413bcc2013-04-04 16:12:43 -070027
28 // Supplicant has removed a BSS from its table of visible endpoints.
Paul Stewart196f50f2013-03-27 18:02:11 -070029 virtual void BSSRemoved(const ::DBus::Path &BSS) = 0;
Paul Stewart9413bcc2013-04-04 16:12:43 -070030
31 // Supplicant has received a certficate from the remote server during
32 // the process of authentication.
Paul Stewart196f50f2013-03-27 18:02:11 -070033 virtual void Certification(const PropertyMap &properties) = 0;
Paul Stewart9413bcc2013-04-04 16:12:43 -070034
35 // Supplicant state machine has output an EAP event notification.
Paul Stewart196f50f2013-03-27 18:02:11 -070036 virtual void EAPEvent(const std::string &status,
37 const std::string &parameter) = 0;
Paul Stewart9413bcc2013-04-04 16:12:43 -070038
39 // The interface element in the supplicant has changed one or more
40 // properties.
Paul Stewart196f50f2013-03-27 18:02:11 -070041 virtual void PropertiesChanged(const PropertyMap &properties) = 0;
Paul Stewart9413bcc2013-04-04 16:12:43 -070042
43 // A scan has completed on this interface.
Paul Stewart196f50f2013-03-27 18:02:11 -070044 virtual void ScanDone() = 0;
45};
46
47} // namespace shill
48
Ben Chanc45688b2014-07-02 23:50:45 -070049#endif // SHILL_SUPPLICANT_EVENT_DELEGATE_INTERFACE_H_