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..3d6b56bcd92764f7f176ced7aa9b518393aedbde 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 member functions are needed to support old-style policy and |
+ // can 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_; |