Index: chrome/browser/policy/configuration_policy_handler_chromeos.cc |
diff --git a/chrome/browser/policy/configuration_policy_handler_chromeos.cc b/chrome/browser/policy/configuration_policy_handler_chromeos.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1dc12cdbc828d7993483f11f0bcb2cc7ae519964 |
--- /dev/null |
+++ b/chrome/browser/policy/configuration_policy_handler_chromeos.cc |
@@ -0,0 +1,47 @@ |
+// Copyright (c) 2011 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. |
+ |
+#include "chrome/browser/policy/configuration_policy_handler_chromeos.h" |
+ |
+#include <string> |
+ |
+#include "chrome/browser/chromeos/cros/onc_network_parser.h" |
+#include "chrome/browser/policy/policy_error_map.h" |
+#include "grit/generated_resources.h" |
+ |
+namespace policy { |
+ |
+NetworkConfigurationPolicyHandler::NetworkConfigurationPolicyHandler( |
+ ConfigurationPolicyType type) |
+ : TypeCheckingPolicyHandler(type, Value::TYPE_STRING) {} |
+ |
+NetworkConfigurationPolicyHandler::~NetworkConfigurationPolicyHandler() {} |
+ |
+bool NetworkConfigurationPolicyHandler::CheckPolicySettings( |
+ const PolicyMap& policies, |
+ PolicyErrorMap* errors) { |
+ const Value* value; |
+ if (!TypeCheckingPolicyHandler::CheckAndGetValue(policies, errors, &value)) |
Joao da Silva
2011/11/07 13:20:45
Nit: invoked this method doesn't require the super
Mattias Nissler (ping if slow)
2011/11/11 14:57:02
Done.
|
+ return false; |
+ |
+ if (value) { |
+ std::string onc_blob; |
+ value->GetAsString(&onc_blob); |
+ chromeos::OncNetworkParser parser(onc_blob); |
+ if (!parser.parse_error().empty()) { |
+ errors->AddError(policy_type(), |
+ IDS_POLICY_NETWORK_CONFIG_PARSE_ERROR, |
+ parser.parse_error()); |
+ return false; |
+ } |
+ } |
+ |
+ return true; |
+} |
+ |
+void NetworkConfigurationPolicyHandler::ApplyPolicySettings( |
+ const PolicyMap& policies, |
+ PrefValueMap* prefs) {} |
+ |
+} // namespace policy |