18bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
28bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
38bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)// found in the LICENSE file.
48bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
58bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#ifndef CHROME_BROWSER_DOWNLOAD_DOWNLOAD_DIR_POLICY_HANDLER_H_
68bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#define CHROME_BROWSER_DOWNLOAD_DOWNLOAD_DIR_POLICY_HANDLER_H_
78bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "base/basictypes.h"
9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "base/compiler_specific.h"
10a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)#include "components/policy/core/browser/configuration_policy_handler.h"
118bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
128bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)class PrefValueMap;
138bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
148bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)namespace policy {
158bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)class PolicyMap;
168bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)}  // namespace policy
178bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
188bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)// ConfigurationPolicyHandler for the DownloadDirectory policy.
198bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)class DownloadDirPolicyHandler : public policy::TypeCheckingPolicyHandler {
208bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) public:
218bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)  DownloadDirPolicyHandler();
228bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)  virtual ~DownloadDirPolicyHandler();
238bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
248bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)  // ConfigurationPolicyHandler methods:
25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  virtual bool CheckPolicySettings(const policy::PolicyMap& policies,
26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                   policy::PolicyErrorMap* errors) OVERRIDE;
27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
28a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)  virtual void ApplyPolicySettingsWithParameters(
29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      const policy::PolicyMap& policies,
30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      const policy::PolicyHandlerParameters& parameters,
31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      PrefValueMap* prefs) OVERRIDE;
328bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
338bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) private:
348bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(DownloadDirPolicyHandler);
358bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)};
368bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)
378bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)#endif  // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_DIR_POLICY_HANDLER_H_
38