Index: chrome/browser/policy/user_policy_cache.h |
diff --git a/chrome/browser/policy/user_policy_cache.h b/chrome/browser/policy/user_policy_cache.h |
index 316497fe0dcafa1b88cbe95b001f9e3da6c00ab4..198696d0e531d9f8ad66fbeb84b19e20a59a31ae 100644 |
--- a/chrome/browser/policy/user_policy_cache.h |
+++ b/chrome/browser/policy/user_policy_cache.h |
@@ -6,9 +6,17 @@ |
#define CHROME_BROWSER_POLICY_USER_POLICY_CACHE_H_ |
#pragma once |
+#include <string> |
+ |
#include "base/file_path.h" |
#include "chrome/browser/policy/cloud_policy_cache_base.h" |
+// <Old-style policy support> (see comment below) |
+namespace enterprise_management { |
+class GenericValue; |
+} // namespace enterprise_management |
+// </Old-style policy support> |
+ |
namespace policy { |
// CloudPolicyCacheBase implementation that persists policy information |
@@ -32,6 +40,23 @@ class UserPolicyCache : public CloudPolicyCacheBase { |
PolicyMap* mandatory, |
PolicyMap* recommended) OVERRIDE; |
+ // <Old-style policy support> |
+ // The following methods are needed to support old-style policy and can |
Mattias Nissler (ping if slow)
2011/04/14 17:33:45
overly-nitty nit: In C++, we call them member func
|
+ // be removed once all server-side components (CPanel, D3) have been migrated |
+ // to providing the new policy format. |
+ |
+ // If |mandatory| and |recommended| are both empty, and |policy_data| |
+ // contains a field named "repeated GenericNamedValue named_value = 2;", |
+ // this field is decoded into |mandatory|. |
+ void MaybeDecodeOldstylePolicy(const std::string& policy_data, |
+ PolicyMap* mandatory, |
+ PolicyMap* recommended); |
+ |
+ Value* DecodeIntegerValue(google::protobuf::int64 value) const; |
+ Value* DecodeValue(const em::GenericValue& value) const; |
+ |
+ // </Old-style policy support> |
+ |
// The file in which we store a cached version of the policy information. |
const FilePath backing_file_path_; |