Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(229)

Unified Diff: chrome/browser/policy/policy_map.h

Issue 78763002: Move PolicyMap and its dependencies to components/policy/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: export nested struct Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/policy_map.h
diff --git a/chrome/browser/policy/policy_map.h b/chrome/browser/policy/policy_map.h
deleted file mode 100644
index d2d6f65e2a35ad8cb8367d23127f15bd250689ec..0000000000000000000000000000000000000000
--- a/chrome/browser/policy/policy_map.h
+++ /dev/null
@@ -1,124 +0,0 @@
-// Copyright (c) 2012 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.
-
-#ifndef CHROME_BROWSER_POLICY_POLICY_MAP_H_
-#define CHROME_BROWSER_POLICY_POLICY_MAP_H_
-
-#include <map>
-#include <set>
-#include <string>
-
-#include "base/memory/scoped_ptr.h"
-#include "base/values.h"
-#include "chrome/browser/policy/external_data_fetcher.h"
-#include "chrome/browser/policy/policy_types.h"
-
-namespace policy {
-
-// A mapping of policy names to policy values for a given policy namespace.
-class PolicyMap {
- public:
- // Each policy maps to an Entry which keeps the policy value as well as other
- // relevant data about the policy.
- struct Entry {
- PolicyLevel level;
- PolicyScope scope;
- base::Value* value;
- ExternalDataFetcher* external_data_fetcher;
-
- Entry()
- : level(POLICY_LEVEL_RECOMMENDED),
- scope(POLICY_SCOPE_USER),
- value(NULL),
- external_data_fetcher(NULL) {}
-
- // Returns true if |this| has higher priority than |other|.
- bool has_higher_priority_than(const Entry& other) const;
-
- // Returns true if |this| equals |other|.
- bool Equals(const Entry& other) const;
- };
-
- typedef std::map<std::string, Entry> PolicyMapType;
- typedef PolicyMapType::const_iterator const_iterator;
-
- PolicyMap();
- virtual ~PolicyMap();
-
- // Returns a weak reference to the entry currently stored for key |policy|,
- // or NULL if not found. Ownership is retained by the PolicyMap.
- const Entry* Get(const std::string& policy) const;
-
- // Returns a weak reference to the value currently stored for key |policy|,
- // or NULL if not found. Ownership is retained by the PolicyMap.
- // This is equivalent to Get(policy)->value, when it doesn't return NULL.
- const base::Value* GetValue(const std::string& policy) const;
-
- // Takes ownership of |value| and |external_data_fetcher|. Overwrites any
- // existing information stored in the map for the key |policy|.
- void Set(const std::string& policy,
- PolicyLevel level,
- PolicyScope scope,
- base::Value* value,
- ExternalDataFetcher* external_data_fetcher);
-
- // Erase the given |policy|, if it exists in this map.
- void Erase(const std::string& policy);
-
- // Swaps the internal representation of |this| with |other|.
- void Swap(PolicyMap* other);
-
- // |this| becomes a copy of |other|. Any existing policies are dropped.
- void CopyFrom(const PolicyMap& other);
-
- // Returns a copy of |this|.
- scoped_ptr<PolicyMap> DeepCopy() const;
-
- // Merges policies from |other| into |this|. Existing policies are only
- // overridden by those in |other| if they have a higher priority, as defined
- // by Entry::has_higher_priority_than(). If a policy is contained in both
- // maps with the same priority, the current value in |this| is preserved.
- void MergeFrom(const PolicyMap& other);
-
- // Loads the values in |policies| into this PolicyMap. All policies loaded
- // will have |level| and |scope| in their entries. Existing entries are
- // replaced.
- void LoadFrom(const base::DictionaryValue* policies,
- PolicyLevel level,
- PolicyScope scope);
-
- // Compares this value map against |other| and stores all key names that have
- // different values or reference different external data in |differing_keys|.
- // This includes keys that are present only in one of the maps.
- // |differing_keys| is not cleared before the keys are added.
- void GetDifferingKeys(const PolicyMap& other,
- std::set<std::string>* differing_keys) const;
-
- // Removes all policies that don't have the specified |level|. This is a
- // temporary helper method, until mandatory and recommended levels are served
- // by a single provider.
- // TODO(joaodasilva): Remove this. http://crbug.com/108999
- void FilterLevel(PolicyLevel level);
-
- bool Equals(const PolicyMap& other) const;
- bool empty() const;
- size_t size() const;
-
- const_iterator begin() const;
- const_iterator end() const;
- void Clear();
-
- 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_

Powered by Google App Engine
This is Rietveld 408576698