Index: components/wifi_sync/wifi_config_delegate_chromeos.h |
diff --git a/components/wifi_sync/wifi_config_delegate_chromeos.h b/components/wifi_sync/wifi_config_delegate_chromeos.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1100af5b0393de25fafe8cbf55926a35bdda6c77 |
--- /dev/null |
+++ b/components/wifi_sync/wifi_config_delegate_chromeos.h |
@@ -0,0 +1,50 @@ |
+// Copyright 2014 The Chromium 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 COMPONENTS_WIFI_SYNC_WIFI_CONFIG_DELEGATE_CHROMEOS_H_ |
+#define COMPONENTS_WIFI_SYNC_WIFI_CONFIG_DELEGATE_CHROMEOS_H_ |
+ |
+#include <string> |
+ |
+#include "base/macros.h" |
+#include "components/wifi_sync/wifi_config_delegate.h" |
+ |
+namespace chromeos { |
+class ManagedNetworkConfigurationHandler; |
+} |
+ |
+namespace wifi_sync { |
+ |
+// ChromeOS-specific implementation of the WifiConfigDelegate interface. |
+class WifiConfigDelegateChromeOs : public WifiConfigDelegate { |
+ public: |
+ // Constructs a delegate, which is responsible for applying changes |
+ // to the local network configuration. Any changes made by this |
+ // delegate will be applied to the Shill profile that corresponds to |
+ // |user_hash|. The caller must assure that the handlers which are |
+ // passed to the delegate, outlive the delegate. |
+ WifiConfigDelegateChromeOs( |
+ const std::string& user_hash, |
+ chromeos::ManagedNetworkConfigurationHandler* managed_net_config_handler); |
+ ~WifiConfigDelegateChromeOs() override; |
+ |
+ // Implementation of WifiConfigDelegate. |
+ void AddToLocalNetworks(const WifiCredential& network_credential) override; |
+ |
+ private: |
+ // The ChromeOS user-hash that should be used when modifying network |
+ // configurations. |
+ const std::string user_hash_; |
+ // The object we use to configure ChromeOS network state. See |
+ // WifiConfigDelegateFactoryChromeOs for details of this object's |
+ // lifetime. |
+ chromeos::ManagedNetworkConfigurationHandler* const |
+ managed_network_configuration_handler_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(WifiConfigDelegateChromeOs); |
+}; |
+ |
+} // namespace wifi_sync |
+ |
+#endif // COMPONENTS_WIFI_SYNC_WIFI_CONFIG_DELEGATE_CHROMEOS_H_ |