user_cloud_external_data_manager.cc revision d0247b1b59f9c528cb6df88b4f2b9afaf80d181e
1// Copyright 2013 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. 4 5#include "chrome/browser/chromeos/policy/user_cloud_external_data_manager.h" 6 7#include "base/location.h" 8#include "base/memory/scoped_ptr.h" 9#include "base/sequenced_task_runner.h" 10#include "chrome/browser/chromeos/policy/cloud_external_data_store.h" 11#include "chrome/browser/policy/cloud/cloud_policy_store.h" 12#include "chrome/browser/policy/cloud/resource_cache.h" 13#include "policy/policy_constants.h" 14 15namespace policy { 16 17namespace { 18 19const char kCacheKey[] = "data"; 20 21} // namespace 22 23UserCloudExternalDataManager::UserCloudExternalDataManager( 24 const PolicyDefinitionList* policy_definitions, 25 scoped_refptr<base::SequencedTaskRunner> backend_task_runner, 26 scoped_refptr<base::SequencedTaskRunner> io_task_runner, 27 const base::FilePath& cache_path, 28 CloudPolicyStore* policy_store) 29 : CloudExternalDataManagerBase(policy_definitions, 30 backend_task_runner, 31 io_task_runner), 32 resource_cache_(new ResourceCache(cache_path, backend_task_runner)) { 33 SetPolicyStore(policy_store); 34 SetExternalDataStore(make_scoped_ptr(new CloudExternalDataStore( 35 kCacheKey, backend_task_runner, resource_cache_))); 36} 37 38UserCloudExternalDataManager::~UserCloudExternalDataManager() { 39 SetExternalDataStore(scoped_ptr<CloudExternalDataStore>()); 40 backend_task_runner_->DeleteSoon(FROM_HERE, resource_cache_); 41} 42 43} // namespace policy 44