blob: 44de6551966d1527db9431cd3baf7ef9f317e8cc [file] [log] [blame]
// 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.
#include "chrome/browser/policy/cloud_policy_store.h"
namespace policy {
CloudPolicyStore::Observer::~Observer() {}
CloudPolicyStore::CloudPolicyStore()
: status_(STATUS_OK),
validation_status_(CloudPolicyValidatorBase::VALIDATION_OK),
is_initialized_(false) {}
CloudPolicyStore::~CloudPolicyStore() {}
void CloudPolicyStore::Clear() {
RemoveStoredPolicy();
policy_.reset();
policy_map_.Clear();
NotifyStoreLoaded();
}
void CloudPolicyStore::AddObserver(CloudPolicyStore::Observer* observer) {
observers_.AddObserver(observer);
}
void CloudPolicyStore::RemoveObserver(CloudPolicyStore::Observer* observer) {
observers_.RemoveObserver(observer);
}
void CloudPolicyStore::NotifyStoreLoaded() {
is_initialized_ = true;
FOR_EACH_OBSERVER(Observer, observers_, OnStoreLoaded(this));
}
void CloudPolicyStore::NotifyStoreError() {
is_initialized_ = true;
FOR_EACH_OBSERVER(Observer, observers_, OnStoreError(this));
}
} // namespace