Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(352)

Side by Side Diff: chrome/installer/setup/install_worker.h

Issue 6153003: Refactor install.cc into the work item parts and the non-work item parts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // Copyright (c) 2011 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 // This file contains the declarations of the installer functions that build
6 // the WorkItemList used to install the application.
7
8 #ifndef CHROME_INSTALLER_SETUP_INSTALL_WORKER_H_
9 #define CHROME_INSTALLER_SETUP_INSTALL_WORKER_H_
10 #pragma once
11
grt (UTC plus 2) 2011/01/12 16:18:02 #include <vector>
robertshield 2011/01/13 17:06:32 Done.
12 #include "base/scoped_ptr.h"
13 #include "base/version.h"
grt (UTC plus 2) 2011/01/12 16:18:02 Looks like Version could be forward decl'd.
erikwright (departed) 2011/01/12 16:31:49 replace version.h and product.h with forward decls
robertshield 2011/01/13 17:06:32 Done.
robertshield 2011/01/13 17:06:32 Done, except for the scoped_ptr.h thing. I think t
14 #include "chrome/installer/util/product.h"
grt (UTC plus 2) 2011/01/12 16:18:02 Forward decl Product, too?
robertshield 2011/01/13 17:06:32 Done.
15
16 class FilePath;
17 class WorkItemList;
18
grt (UTC plus 2) 2011/01/12 16:18:02 class CommandLine;
robertshield 2011/01/13 17:06:32 Done.
19 namespace installer {
20
21 class InstallationState;
22 class InstallerState;
23 class Package;
24
25 // Builds the complete WorkItemList used to build the set of installation steps
26 // needed to lay down one or more installed products.
27 //
28 // setup_path: Path to the executable (setup.exe) as it will be copied
29 // to Chrome install folder after install is complete
30 // archive_path: Path to the archive (chrome.7z) as it will be copied
31 // to Chrome install folder after install is complete
32 // src_path: the path that contains a complete and unpacked Chrome package
33 // to be installed.
34 // temp_dir: the path of working directory used during installation. This path
35 // does not need to exist.
36 void AddInstallWorkItems(const InstallationState& original_state,
37 const InstallerState& installer_state,
38 bool multi_install,
39 const FilePath& setup_path,
40 const FilePath& archive_path,
41 const FilePath& src_path,
42 const FilePath& temp_dir,
43 const Version& new_version,
44 scoped_ptr<Version>* current_version,
45 const Package& package,
46 WorkItemList* install_list);
47
48 // Appends registration or unregistration work items to |work_item_list| for the
49 // COM DLLs whose file names are given in |dll_files| and which reside in the
50 // path |dll_folder|.
51 // |system_level| specifies whether to call the system or user level DLL
52 // registration entry points.
53 // |do_register| says whether to register or unregister.
54 // |may_fail| states whether this is best effort or not. If |may_fail| is true
55 // then |work_item_list| will still succeed if the registration fails and
56 // no registration rollback will be performed.
57 void AddRegisterComDllWorkItems(const FilePath& dll_folder,
58 const std::vector<FilePath>& dll_files,
59 bool system_level,
60 bool do_register,
61 bool ignore_failures,
62 WorkItemList* work_item_list);
63
64 void AddSetMsiMarkerWorkItem(const Product& product,
65 bool set,
66 WorkItemList* work_item_list);
67
68 // Called for either installation or uninstallation. This method updates the
69 // registry according to Chrome Frame specific options for the current
70 // installation. This includes handling of the ready-mode option.
71 void AddChromeFrameWorkItems(bool install, const FilePath& setup_path,
72 const Version& new_version, const Product& product,
73 WorkItemList* list);
74
75 void AddUninstallShortcutWorkItems(const FilePath& setup_path,
76 const Version& new_version,
77 WorkItemList* install_list,
78 const Product& product);
79
80 // Utility method currently shared between install.cc and install_worker.cc
81 void AppendUninstallCommandLineFlags(CommandLine* uninstall_cmd,
82 const Product& product);
83
84 } // namespace installer
85
86 #endif // CHROME_INSTALLER_SETUP_INSTALL_WORKER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698