| Index: chromeos/network/network_ui_data.h
|
| diff --git a/chrome/browser/chromeos/cros/network_ui_data.h b/chromeos/network/network_ui_data.h
|
| similarity index 50%
|
| rename from chrome/browser/chromeos/cros/network_ui_data.h
|
| rename to chromeos/network/network_ui_data.h
|
| index aa16974d9cbbeeb3fb13767b0f7a07b64c6b498b..2c93a9fd6ebb7c5d13ac58fd94b70ca31b63c695 100644
|
| --- a/chrome/browser/chromeos/cros/network_ui_data.h
|
| +++ b/chromeos/network/network_ui_data.h
|
| @@ -2,21 +2,29 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_CHROMEOS_CROS_NETWORK_UI_DATA_H_
|
| -#define CHROME_BROWSER_CHROMEOS_CROS_NETWORK_UI_DATA_H_
|
| +#ifndef CHROMEOS_NETWORK_NETWORK_UI_DATA_H_
|
| +#define CHROMEOS_NETWORK_NETWORK_UI_DATA_H_
|
|
|
| #include <string>
|
|
|
| #include "base/basictypes.h"
|
| #include "base/memory/scoped_ptr.h"
|
| -#include "base/values.h"
|
| -#include "chrome/browser/chromeos/cros/certificate_pattern.h"
|
| -#include "chrome/browser/chromeos/cros/enum_mapper.h"
|
| -#include "chrome/browser/chromeos/cros/network_constants.h"
|
| +#include "chromeos/chromeos_export.h"
|
| +#include "chromeos/network/certificate_pattern.h"
|
| #include "chromeos/network/onc/onc_constants.h"
|
|
|
| +namespace base {
|
| +class DictionaryValue;
|
| +}
|
| +
|
| namespace chromeos {
|
|
|
| +enum ClientCertType {
|
| + CLIENT_CERT_TYPE_NONE = 0,
|
| + CLIENT_CERT_TYPE_REF = 1,
|
| + CLIENT_CERT_TYPE_PATTERN = 2
|
| +};
|
| +
|
| class NetworkPropertyUIData;
|
|
|
| // Helper for accessing and setting values in the network's UI data dictionary.
|
| @@ -28,7 +36,7 @@ class NetworkPropertyUIData;
|
| // NetworkUIData ui_data;
|
| // ui_data.set_onc_source(onc::ONC_SOURCE_USER_IMPORT);
|
| // ui_data.FillDictionary(network->ui_data());
|
| -class NetworkUIData {
|
| +class CHROMEOS_EXPORT NetworkUIData {
|
| public:
|
| NetworkUIData();
|
| explicit NetworkUIData(const base::DictionaryValue& dict);
|
| @@ -70,67 +78,20 @@ class NetworkUIData {
|
| static const char kKeyCertificateType[];
|
|
|
| private:
|
| - static EnumMapper<onc::ONCSource>& GetONCSourceMapper();
|
| - static EnumMapper<ClientCertType>& GetClientCertMapper();
|
| -
|
| CertificatePattern certificate_pattern_;
|
| onc::ONCSource onc_source_;
|
| ClientCertType certificate_type_;
|
| -
|
| - static const EnumMapper<onc::ONCSource>::Pair kONCSourceTable[];
|
| - static const EnumMapper<ClientCertType>::Pair kClientCertTable[];
|
| };
|
|
|
| -// Holds meta information for a network property: Whether the property is under
|
| -// policy control, if it is user-editable, and whether the policy-provided
|
| -// default value, if applicable.
|
| -class NetworkPropertyUIData {
|
| - public:
|
| - // Enum values indicating the entity controlling the property.
|
| - enum Controller {
|
| - // Property is managed by policy.
|
| - CONTROLLER_POLICY,
|
| - // The user controls the policy.
|
| - CONTROLLER_USER,
|
| - };
|
| -
|
| - // Initializes the object with CONTROLLER_USER and no default value.
|
| - NetworkPropertyUIData();
|
| - ~NetworkPropertyUIData();
|
| -
|
| - // Initializes the object by calling Reset() with the provided ui_data.
|
| - explicit NetworkPropertyUIData(const NetworkUIData& ui_data);
|
| -
|
| - // Resets the property to the controller specified by the given |ui_data| and
|
| - // clears the default value.
|
| - void Reset(const NetworkUIData& ui_data);
|
| -
|
| - // Update the property object from dictionary, reading the key given by
|
| - // |property_key|.
|
| - void ParseOncProperty(const NetworkUIData& ui_data,
|
| - const base::DictionaryValue* onc,
|
| - const std::string& property_key);
|
| -
|
| - const base::Value* default_value() const { return default_value_.get(); }
|
| - bool managed() const { return controller_ == CONTROLLER_POLICY; }
|
| - bool recommended() const {
|
| - return controller_ == CONTROLLER_USER && default_value_.get();
|
| - }
|
| - bool editable() const { return controller_ == CONTROLLER_USER; }
|
| -
|
| - private:
|
| - Controller controller_;
|
| - scoped_ptr<base::Value> default_value_;
|
| -
|
| - static const char kKeyController[];
|
| - static const char kKeyDefaultValue[];
|
| -
|
| - // So it can access the kKeyXYZ constants.
|
| - friend class NetworkUIDataTest;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(NetworkPropertyUIData);
|
| -};
|
| +// Creates a NetworkUIData object from |onc_network|, which has to be a valid
|
| +// ONC NetworkConfiguration dictionary.
|
| +//
|
| +// This function is used to create the "UIData" field of the Shill
|
| +// configuration.
|
| +CHROMEOS_EXPORT scoped_ptr<NetworkUIData> CreateUIDataFromONC(
|
| + onc::ONCSource onc_source,
|
| + const base::DictionaryValue& onc_network);
|
|
|
| } // namespace chromeos
|
|
|
| -#endif // CHROME_BROWSER_CHROMEOS_CROS_NETWORK_UI_DATA_H_
|
| +#endif // CHROMEOS_NETWORK_NETWORK_UI_DATA_H_
|
|
|