Index: chrome/browser/chromeos/arc/arc_policy_bridge.cc |
diff --git a/chrome/browser/chromeos/arc/arc_policy_bridge.cc b/chrome/browser/chromeos/arc/arc_policy_bridge.cc |
index e472d9ad5d5cfe7b2903ad00a0e400ded09f0c7f..71e7bbd094617d51a610885dd5c7aeaeb5965f7a 100644 |
--- a/chrome/browser/chromeos/arc/arc_policy_bridge.cc |
+++ b/chrome/browser/chromeos/arc/arc_policy_bridge.cc |
@@ -4,6 +4,8 @@ |
#include "chrome/browser/chromeos/arc/arc_policy_bridge.h" |
+#include <string> |
+ |
#include "base/json/json_string_value_serializer.h" |
#include "base/logging.h" |
#include "base/values.h" |
@@ -18,6 +20,32 @@ |
namespace arc { |
+namespace { |
+ |
+void AddPolicy(const std::string policy_name, |
+ const policy::PolicyMap& policy_map, |
+ base::DictionaryValue& filtered_policies) { |
+ const base::Value* const policy_value = policy_map.GetValue(policy_name); |
+ if (policy_value) { |
+ filtered_policies.Set(policy_name, |
+ policy_value->CreateDeepCopy().release()); |
+ } |
+} |
+ |
+std::string GetFilteredJSONPolicies(const policy::PolicyMap& policy_map) { |
+ base::DictionaryValue filtered_policies; |
+ // Keep them in alphabetical order. |
+ AddPolicy(policy::key::kArcApplicationPolicy, policy_map, filtered_policies); |
+ AddPolicy(policy::key::kVideoCaptureAllowed, policy_map, filtered_policies); |
+ |
+ std::string policy_json; |
+ JSONStringValueSerializer serializer(&policy_json); |
+ serializer.Serialize(filtered_policies); |
+ return policy_json; |
+} |
+ |
+} // anonymous namespace |
Luis Héctor Chávez
2016/04/06 15:36:15
nit: "} // namespace" is more commonly used (7x i
phweiss
2016/04/06 17:39:24
Done.
|
+ |
ArcPolicyBridge::ArcPolicyBridge(ArcBridgeService* bridge_service) |
: ArcService(bridge_service), binding_(this) { |
VLOG(1) << "ArcPolicyBridge::ArcPolicyBridge"; |
@@ -89,23 +117,4 @@ void ArcPolicyBridge::InitializePolicyService() { |
->policy_service(); |
} |
-std::string ArcPolicyBridge::GetFilteredJSONPolicies( |
- const policy::PolicyMap& policy_map) { |
- // TODO(phweiss): Implement general filtering mechanism when more policies |
- // need to be passed on. |
- // Create dictionary with the desired policies. |
- base::DictionaryValue filtered_policies; |
- const std::string policy_name = policy::key::kArcApplicationPolicy; |
- const base::Value* const policy_value = policy_map.GetValue(policy_name); |
- if (policy_value) { |
- filtered_policies.Set(policy_name, |
- policy_value->CreateDeepCopy().release()); |
- } |
- // Convert dictionary to JSON. |
- std::string policy_json; |
- JSONStringValueSerializer serializer(&policy_json); |
- serializer.Serialize(filtered_policies); |
- return policy_json; |
-} |
- |
} // namespace arc |