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

Unified 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 side-by-side diff with in-line comments
Download patch
Index: chrome/installer/setup/install_worker.h
===================================================================
--- chrome/installer/setup/install_worker.h (revision 0)
+++ chrome/installer/setup/install_worker.h (revision 0)
@@ -0,0 +1,86 @@
+// 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.
+//
+// This file contains the declarations of the installer functions that build
+// the WorkItemList used to install the application.
+
+#ifndef CHROME_INSTALLER_SETUP_INSTALL_WORKER_H_
+#define CHROME_INSTALLER_SETUP_INSTALL_WORKER_H_
+#pragma once
+
grt (UTC plus 2) 2011/01/12 16:18:02 #include <vector>
robertshield 2011/01/13 17:06:32 Done.
+#include "base/scoped_ptr.h"
+#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
+#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.
+
+class FilePath;
+class WorkItemList;
+
grt (UTC plus 2) 2011/01/12 16:18:02 class CommandLine;
robertshield 2011/01/13 17:06:32 Done.
+namespace installer {
+
+class InstallationState;
+class InstallerState;
+class Package;
+
+// Builds the complete WorkItemList used to build the set of installation steps
+// needed to lay down one or more installed products.
+//
+// setup_path: Path to the executable (setup.exe) as it will be copied
+// to Chrome install folder after install is complete
+// archive_path: Path to the archive (chrome.7z) as it will be copied
+// to Chrome install folder after install is complete
+// src_path: the path that contains a complete and unpacked Chrome package
+// to be installed.
+// temp_dir: the path of working directory used during installation. This path
+// does not need to exist.
+void AddInstallWorkItems(const InstallationState& original_state,
+ const InstallerState& installer_state,
+ bool multi_install,
+ const FilePath& setup_path,
+ const FilePath& archive_path,
+ const FilePath& src_path,
+ const FilePath& temp_dir,
+ const Version& new_version,
+ scoped_ptr<Version>* current_version,
+ const Package& package,
+ WorkItemList* install_list);
+
+// Appends registration or unregistration work items to |work_item_list| for the
+// COM DLLs whose file names are given in |dll_files| and which reside in the
+// path |dll_folder|.
+// |system_level| specifies whether to call the system or user level DLL
+// registration entry points.
+// |do_register| says whether to register or unregister.
+// |may_fail| states whether this is best effort or not. If |may_fail| is true
+// then |work_item_list| will still succeed if the registration fails and
+// no registration rollback will be performed.
+void AddRegisterComDllWorkItems(const FilePath& dll_folder,
+ const std::vector<FilePath>& dll_files,
+ bool system_level,
+ bool do_register,
+ bool ignore_failures,
+ WorkItemList* work_item_list);
+
+void AddSetMsiMarkerWorkItem(const Product& product,
+ bool set,
+ WorkItemList* work_item_list);
+
+// Called for either installation or uninstallation. This method updates the
+// registry according to Chrome Frame specific options for the current
+// installation. This includes handling of the ready-mode option.
+void AddChromeFrameWorkItems(bool install, const FilePath& setup_path,
+ const Version& new_version, const Product& product,
+ WorkItemList* list);
+
+void AddUninstallShortcutWorkItems(const FilePath& setup_path,
+ const Version& new_version,
+ WorkItemList* install_list,
+ const Product& product);
+
+// Utility method currently shared between install.cc and install_worker.cc
+void AppendUninstallCommandLineFlags(CommandLine* uninstall_cmd,
+ const Product& product);
+
+} // namespace installer
+
+#endif // CHROME_INSTALLER_SETUP_INSTALL_WORKER_H_
Property changes on: chrome\installer\setup\install_worker.h
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698