// Copyright (c) 2011 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_TESTING_CLOUD_POLICY_SUBSYSTEM_H_ #define CHROME_BROWSER_POLICY_TESTING_CLOUD_POLICY_SUBSYSTEM_H_ #pragma once #include "chrome/browser/policy/cloud_policy_subsystem.h" namespace policy { class CloudPolicyDataStore; class EventLogger; // A CloudPolicySubsystem for testing: it uses EventLogger to issue delayed // tasks with 0 effective delay, and log the times of their executions. class TestingCloudPolicySubsystem : public CloudPolicySubsystem { public: // Takes ownership of |policy_cache|. TestingCloudPolicySubsystem(CloudPolicyDataStore* data, CloudPolicyCacheBase* policy_cache, const std::string& device_management_url, EventLogger* logger); private: virtual void CreateDeviceTokenFetcher() OVERRIDE; virtual void CreateCloudPolicyController() OVERRIDE; EventLogger* logger_; DISALLOW_COPY_AND_ASSIGN(TestingCloudPolicySubsystem); }; } // namespace Policy #endif // CHROME_BROWSER_POLICY_TESTING_CLOUD_POLICY_SUBSYSTEM_H_