Home | History | Annotate | Download | only in extensions
      1 // Copyright 2012 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 #ifndef CHROME_BROWSER_EXTENSIONS_STANDARD_MANAGEMENT_POLICY_PROVIDER_H_
      6 #define CHROME_BROWSER_EXTENSIONS_STANDARD_MANAGEMENT_POLICY_PROVIDER_H_
      7 
      8 #include "extensions/browser/management_policy.h"
      9 
     10 namespace extensions {
     11 
     12 class Blacklist;
     13 class Extension;
     14 class ExtensionPrefs;
     15 
     16 // The standard management policy provider, which takes into account the
     17 // extension black/whitelists and admin black/whitelists.
     18 class StandardManagementPolicyProvider : public ManagementPolicy::Provider {
     19  public:
     20   // |prefs| must outlive this.
     21   explicit StandardManagementPolicyProvider(ExtensionPrefs* prefs);
     22 
     23   virtual ~StandardManagementPolicyProvider();
     24 
     25   // ManagementPolicy::Provider implementation.
     26   virtual std::string GetDebugPolicyProviderName() const OVERRIDE;
     27   virtual bool UserMayLoad(const Extension* extension,
     28                            base::string16* error) const OVERRIDE;
     29   virtual bool UserMayModifySettings(const Extension* extension,
     30                                      base::string16* error) const OVERRIDE;
     31   virtual bool MustRemainEnabled(const Extension* extension,
     32                                  base::string16* error) const OVERRIDE;
     33 
     34  private:
     35   ExtensionPrefs* const prefs_;
     36 };
     37 
     38 }  // namespace extensions
     39 
     40 #endif  // CHROME_BROWSER_EXTENSIONS_STANDARD_MANAGEMENT_POLICY_PROVIDER_H_
     41