Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chromeos / network / network_state_handler_observer.h
1 // Copyright (c) 2012 The Chromium 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
5 #ifndef CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_OBSERVER_H_
6 #define CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_OBSERVER_H_
7
8 #include <string>
9 #include <vector>
10
11 #include "base/basictypes.h"
12 #include "chromeos/chromeos_export.h"
13
14 namespace chromeos {
15
16 class DeviceState;
17 class NetworkState;
18
19 // Observer class for all network state changes, including changes to
20 // active (connecting or connected) services.
21 class CHROMEOS_EXPORT NetworkStateHandlerObserver {
22  public:
23   NetworkStateHandlerObserver();
24   virtual ~NetworkStateHandlerObserver();
25
26   // The list of networks changed.
27   virtual void NetworkListChanged();
28
29   // The list of devices changed, or a property changed (e.g. scanning).
30   virtual void DeviceListChanged();
31
32   // The default network changed (includes VPNs) or one of its properties
33   // changed. This won't be called if the WiFi signal strength property
34   // changes. If interested in those events, use NetworkPropertiesUpdated()
35   // below.
36   // |network| will be NULL if there is no longer a default network.
37   virtual void DefaultNetworkChanged(const NetworkState* network);
38
39   // The connection state of |network| changed.
40   virtual void NetworkConnectionStateChanged(const NetworkState* network);
41
42   // One or more properties of |network| have been updated. Note: this will get
43   // called in *addition* to NetworkConnectionStateChanged() when the
44   // connection state property changes. Use this to track properties like
45   // wifi strength.
46   virtual void NetworkPropertiesUpdated(const NetworkState* network);
47
48   // One or more properties of |device| have been updated.
49   virtual void DevicePropertiesUpdated(const DeviceState* device);
50
51   // Called just before NetworkStateHandler is destroyed so that observers
52   // can safely stop observing.
53   virtual void IsShuttingDown();
54
55  private:
56   DISALLOW_COPY_AND_ASSIGN(NetworkStateHandlerObserver);
57 };
58
59 }  // namespace chromeos
60
61 #endif  // CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_OBSERVER_H_