| Index: chromeos/network/managed_network_configuration_handler.h
|
| diff --git a/chromeos/network/managed_network_configuration_handler.h b/chromeos/network/managed_network_configuration_handler.h
|
| index 0ac1e6e69111113b5e53a7571bcc0bd606ebaeec..357a0f3fca54b40dd6ef61f1de4275c3c2f2de41 100644
|
| --- a/chromeos/network/managed_network_configuration_handler.h
|
| +++ b/chromeos/network/managed_network_configuration_handler.h
|
| @@ -12,6 +12,7 @@
|
| #include "base/callback.h"
|
| #include "base/gtest_prod_util.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "base/observer_list.h"
|
| #include "chromeos/chromeos_export.h"
|
| #include "chromeos/network/network_handler.h"
|
| #include "chromeos/network/network_handler_callbacks.h"
|
| @@ -26,6 +27,7 @@ class ListValue;
|
| namespace chromeos {
|
|
|
| class NetworkConfigurationHandler;
|
| +class NetworkPolicyObserver;
|
| class NetworkProfileHandler;
|
| class NetworkStateHandler;
|
| class NetworkUIData;
|
| @@ -69,6 +71,9 @@ class CHROMEOS_EXPORT ManagedNetworkConfigurationHandler
|
| static scoped_ptr<NetworkUIData> GetUIData(
|
| const base::DictionaryValue& shill_dictionary);
|
|
|
| + void AddObserver(NetworkPolicyObserver* observer);
|
| + void RemoveObserver(NetworkPolicyObserver* observer);
|
| +
|
| // Provides the properties of the network with |service_path| to |callback|.
|
| void GetProperties(
|
| const std::string& service_path,
|
| @@ -132,7 +137,13 @@ class CHROMEOS_EXPORT ManagedNetworkConfigurationHandler
|
| const std::string& guid,
|
| onc::ONCSource* onc_source) const;
|
|
|
| - // NetworkProfileObserver overrides
|
| + // Returns the policy with |guid| for profile |profile_path|. If such
|
| + // doesn't exist, returns NULL.
|
| + const base::DictionaryValue* FindPolicyByGuidAndProfile(
|
| + const std::string& guid,
|
| + const std::string& profile_path) const;
|
| +
|
| + // NetworkProfileObserver overrides
|
| virtual void OnProfileAdded(const NetworkProfile& profile) OVERRIDE;
|
| virtual void OnProfileRemoved(const NetworkProfile& profile) OVERRIDE;
|
|
|
| @@ -141,6 +152,7 @@ class CHROMEOS_EXPORT ManagedNetworkConfigurationHandler
|
| }
|
|
|
| private:
|
| + friend class ClientCertResolverTest;
|
| friend class NetworkHandler;
|
| friend class ManagedNetworkConfigurationHandlerTest;
|
| class PolicyApplicator;
|
| @@ -151,7 +163,6 @@ class CHROMEOS_EXPORT ManagedNetworkConfigurationHandler
|
| NetworkProfileHandler* network_profile_handler,
|
| NetworkConfigurationHandler* network_configuration_handler);
|
|
|
| -
|
| void GetManagedPropertiesCallback(
|
| const network_handler::DictionaryResultCallback& callback,
|
| const network_handler::ErrorCallback& error_callback,
|
| @@ -162,6 +173,8 @@ class CHROMEOS_EXPORT ManagedNetworkConfigurationHandler
|
| const GuidToPolicyMap* GetPoliciesForProfile(
|
| const NetworkProfile& profile) const;
|
|
|
| + void OnPolicyApplied(const std::string& service_path);
|
| +
|
| // The DictionaryValues of the nested maps are owned by this class and are
|
| // explicitly deleted where necessary. If present, the empty string maps to
|
| // the device policy.
|
| @@ -172,6 +185,8 @@ class CHROMEOS_EXPORT ManagedNetworkConfigurationHandler
|
| NetworkProfileHandler* network_profile_handler_;
|
| NetworkConfigurationHandler* network_configuration_handler_;
|
|
|
| + ObserverList<NetworkPolicyObserver> observers_;
|
| +
|
| // For Shill client callbacks
|
| base::WeakPtrFactory<ManagedNetworkConfigurationHandler> weak_ptr_factory_;
|
|
|
|
|