Home | History | Annotate | Download | only in component_updater
      1 // Copyright 2014 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_COMPONENT_UPDATER_EV_WHITELIST_COMPONENT_INSTALLER_H_
      6 #define CHROME_BROWSER_COMPONENT_UPDATER_EV_WHITELIST_COMPONENT_INSTALLER_H_
      7 
      8 #include <stdint.h>
      9 #include <string>
     10 #include <vector>
     11 
     12 #include "base/files/file_path.h"
     13 #include "base/macros.h"
     14 #include "base/values.h"
     15 #include "components/component_updater/default_component_installer.h"
     16 
     17 namespace component_updater {
     18 
     19 class ComponentUpdateService;
     20 
     21 class EVWhitelistComponentInstallerTraits : public ComponentInstallerTraits {
     22  public:
     23   EVWhitelistComponentInstallerTraits();
     24   virtual ~EVWhitelistComponentInstallerTraits() {}
     25 
     26  private:
     27   // The following methods override ComponentInstallerTraits.
     28   virtual bool CanAutoUpdate() const OVERRIDE;
     29   virtual bool OnCustomInstall(const base::DictionaryValue& manifest,
     30                                const base::FilePath& install_dir) OVERRIDE;
     31   virtual bool VerifyInstallation(
     32       const base::FilePath& install_dir) const OVERRIDE;
     33   virtual void ComponentReady(
     34       const base::Version& version,
     35       const base::FilePath& path,
     36       scoped_ptr<base::DictionaryValue> manifest) OVERRIDE;
     37   virtual base::FilePath GetBaseDirectory() const OVERRIDE;
     38   virtual void GetHash(std::vector<uint8_t>* hash) const OVERRIDE;
     39   virtual std::string GetName() const OVERRIDE;
     40 
     41   static base::FilePath GetInstalledPath(const base::FilePath& base);
     42 
     43   DISALLOW_COPY_AND_ASSIGN(EVWhitelistComponentInstallerTraits);
     44 };
     45 
     46 // Call once during startup to make the component update service aware of
     47 // the EV whitelist.
     48 void RegisterEVWhitelistComponent(ComponentUpdateService* cus);
     49 
     50 }  // namespace component_updater
     51 
     52 #endif  // CHROME_BROWSER_COMPONENT_UPDATER_EV_WHITELIST_COMPONENT_INSTALLER_H_
     53