Index: chrome/browser/policy/policy_service.h |
diff --git a/chrome/browser/policy/policy_service.h b/chrome/browser/policy/policy_service.h |
index 4098bba463b1ab5dc5554eba0d6e3b50b1db7b69..20bb050f75a79425c0ef9a5c729b012db24a1fc8 100644 |
--- a/chrome/browser/policy/policy_service.h |
+++ b/chrome/browser/policy/policy_service.h |
@@ -12,43 +12,12 @@ |
#include "base/basictypes.h" |
#include "base/callback.h" |
+#include "chrome/browser/policy/policy_bundle.h" |
#include "chrome/browser/policy/policy_map.h" |
+#include "chrome/browser/policy/policy_namespace.h" |
namespace policy { |
-// Policies are namespaced by a (PolicyDomain, ID) pair. The meaning of the ID |
-// string depends on the domain; for example, if the PolicyDomain is |
-// "extensions" then the ID identifies the extension that the policies control. |
-enum PolicyDomain { |
- // The component ID for chrome policies is always the empty string. |
- POLICY_DOMAIN_CHROME, |
- |
- // The extensions policy domain is a work in progress. Included here for |
- // tests. |
- POLICY_DOMAIN_EXTENSIONS, |
- |
- // Must be the last entry. |
- POLICY_DOMAIN_SIZE, |
-}; |
- |
-// Groups a policy domain and a component ID in a single object representing |
-// a policy namespace. Objects of this class can be used as keys in std::maps. |
-struct PolicyNamespace { |
- public: |
- PolicyNamespace(); |
- PolicyNamespace(PolicyDomain domain, const std::string& component_id); |
- PolicyNamespace(const PolicyNamespace& other); |
- ~PolicyNamespace(); |
- |
- PolicyNamespace& operator=(const PolicyNamespace& other); |
- bool operator<(const PolicyNamespace& other) const; |
- bool operator==(const PolicyNamespace& other) const; |
- bool operator!=(const PolicyNamespace& other) const; |
- |
- PolicyDomain domain; |
- std::string component_id; |
-}; |
- |
// The PolicyService merges policies from all available sources, taking into |
// account their priorities. Policy clients can retrieve policy for their domain |
// and register for notifications on policy updates. |
@@ -97,6 +66,8 @@ class PolicyService { |
virtual const PolicyMap& GetPolicies(const PolicyNamespace& ns) const = 0; |
+ virtual const PolicyBundle& GetAllPolicies() const = 0; |
+ |
// The PolicyService loads policy from several sources, and some require |
// asynchronous loads. IsInitializationComplete() returns true once all |
// sources have loaded their policies for the given |domain|. |