Index: chrome/browser/policy/policy_map.h |
diff --git a/chrome/browser/policy/policy_map.h b/chrome/browser/policy/policy_map.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..37c761d50db56bd83d58af527815148ecd38fb27 |
--- /dev/null |
+++ b/chrome/browser/policy/policy_map.h |
@@ -0,0 +1,53 @@ |
+// 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. |
+ |
Mattias Nissler (ping if slow)
2011/02/17 09:27:20
excess whitespace
Jakob Kummerow
2011/02/17 09:47:14
Done.
|
+ |
+#ifndef CHROME_BROWSER_POLICY_POLICY_MAP_H_ |
+#define CHROME_BROWSER_POLICY_POLICY_MAP_H_ |
+ |
+#include <map> |
+ |
+#include "base/values.h" |
+#include "policy/configuration_policy_type.h" |
+ |
+namespace policy { |
+ |
+// Wrapper class around a std::map<ConfigurationPolicyType, Value*> that |
+// properly cleans up after itself when going out of scope (similar to a |
+// scoped_ptr). Exposes interesting methods of the underlying std::map. |
Mattias Nissler (ping if slow)
2011/02/17 09:27:20
I feel the scoped_ptr reference here creates more
Jakob Kummerow
2011/02/17 09:47:14
Done (removed it).
|
+class PolicyMap { |
+ public: |
+ typedef std::map<ConfigurationPolicyType, Value*> PolicyMapType; |
+ typedef PolicyMapType::const_iterator const_iterator; |
+ |
+ PolicyMap(); |
+ virtual ~PolicyMap(); |
+ |
+ const Value* Get(ConfigurationPolicyType policy) const; |
Mattias Nissler (ping if slow)
2011/02/17 09:27:20
Please mention ownership handling in a comment to
Jakob Kummerow
2011/02/17 09:47:14
Done.
|
+ void Set(ConfigurationPolicyType policy, Value* value); |
+ void Erase(ConfigurationPolicyType policy); |
+ |
+ void Swap(PolicyMap* other); |
+ |
+ bool Equals(const PolicyMap& other) const; |
+ bool empty() const; |
+ size_t size() const; |
+ |
+ const_iterator begin() const; |
+ const_iterator end() const; |
+ void clear(); |
Mattias Nissler (ping if slow)
2011/02/17 09:27:20
By the style guide, this should be named Clear(),
Jakob Kummerow
2011/02/17 09:47:14
Done.
|
+ |
+ private: |
+ // Helper function for Equals(...). |
+ static bool MapEntryEquals(const PolicyMapType::value_type& a, |
+ const PolicyMapType::value_type& b); |
+ |
+ PolicyMapType map_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(PolicyMap); |
+}; |
+ |
+} // namespace policy |
+ |
+#endif // CHROME_BROWSER_POLICY_POLICY_MAP_H_ |