1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "components/policy/core/common/policy_provider_android.h"
6 #include "components/policy/core/common/policy_provider_android_delegate.h"
12 bool g_wait_for_policies
= false;
16 PolicyProviderAndroid::PolicyProviderAndroid()
18 initialized_(!g_wait_for_policies
) {}
20 PolicyProviderAndroid::~PolicyProviderAndroid() {}
22 const Schema
* PolicyProviderAndroid::GetChromeSchema() const {
23 PolicyNamespace
ns(POLICY_DOMAIN_CHROME
, std::string());
24 return schema_map()->GetSchema(ns
);
28 void PolicyProviderAndroid::SetShouldWaitForPolicy(
29 bool should_wait_for_policy
) {
30 g_wait_for_policies
= should_wait_for_policy
;
33 void PolicyProviderAndroid::SetDelegate(
34 PolicyProviderAndroidDelegate
* delegate
) {
35 DCHECK(!delegate
|| !delegate_
);
39 void PolicyProviderAndroid::SetPolicies(scoped_ptr
<PolicyBundle
> policy
) {
41 UpdatePolicy(policy
.Pass());
44 void PolicyProviderAndroid::Shutdown() {
46 delegate_
->PolicyProviderShutdown();
48 ConfigurationPolicyProvider::Shutdown();
51 bool PolicyProviderAndroid::IsInitializationComplete(
52 PolicyDomain domain
) const {
56 void PolicyProviderAndroid::RefreshPolicies() {
58 delegate_
->RefreshPolicies();
60 // If we don't have a delegate, pass a copy of the current policies.
61 scoped_ptr
<PolicyBundle
> bundle(new PolicyBundle());
62 bundle
->CopyFrom(policies());
63 UpdatePolicy(bundle
.Pass());