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

Unified Diff: setup/setup.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « setup/msi_test_utils.cc ('k') | setup/setup.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: setup/setup.h
diff --git a/setup/setup.h b/setup/setup.h
deleted file mode 100644
index f61a9d606230b3ec4aed4dd729315caebb1209ab..0000000000000000000000000000000000000000
--- a/setup/setup.h
+++ /dev/null
@@ -1,198 +0,0 @@
-// Copyright 2007-2009 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-//
-// There are two phases of setup. Both are done in an instance running from a
-// temp location.
-// 1) Copy the Google Update files to the install location.
-// 2) Do everything else to install Google Update.
-// * Executed by SetupGoogleUpdate().
-//
-// Uninstall() undoes both phases of setup.
-// All methods assume the instance is running with the correct permissions.
-
-#ifndef OMAHA_SETUP_SETUP_H__
-#define OMAHA_SETUP_SETUP_H__
-
-#include <windows.h>
-#include <atlstr.h>
-#include <vector>
-#include "base/basictypes.h"
-#include "base/scoped_ptr.h"
-#include "omaha/base/scoped_any.h"
-
-namespace omaha {
-
-class GLock;
-class HighresTimer;
-struct NamedObjectAttributes;
-
-class SetupFiles;
-
-class Setup {
- public:
- explicit Setup(bool is_machine);
- ~Setup();
-
- // Installs Omaha if necessary.
- HRESULT Install(bool set_keepalive);
-
- // Acquires the Setup Lock and uninstalls all Omaha versions if Omaha can be
- // uninstalled.
- HRESULT Uninstall(bool send_uninstall_ping);
-
- // Verifies that Omaha is either properly installed or uninstalled completely.
- // TODO(omaha): Consider making this and did_uninstall_ non-static after
- // refactoring Setup phases. May require a Setup member in Goopdate.
- static void CheckInstallStateConsistency(bool is_machine);
-
- int extra_code1() const { return extra_code1_; }
-
- void set_is_self_update(bool is_self_update) {
- is_self_update_ = is_self_update;
- }
-
- private:
- typedef std::vector<uint32> Pids;
-
- // Completes installation.
- HRESULT SetupGoogleUpdate();
-
- // Handles Setup lock acquisition failures and returns the error to report.
- HRESULT HandleLockFailed(int lock_version);
-
- // Does the install work within all necessary locks, which have already been
- // acquired.
- HRESULT DoProtectedInstall(bool set_keepalive);
-
- // Uninstalls all Google Update versions after checking if Google Update can
- // be uninstalled.
- HRESULT DoProtectedUninstall(bool send_uninstall_ping);
-
- // Returns whether Google Update should be installed.
- bool ShouldInstall(SetupFiles* setup_files);
-
- // Returns whether the same version of Google Update should be over-installed.
- bool ShouldOverinstallSameVersion(SetupFiles* setup_files);
-
- HRESULT DoProtectedGoogleUpdateInstall(SetupFiles* setup_files);
-
- // Rolls back the changes made during DoProtectedGoogleUpdateInstall().
- // Call when that method fails.
- void RollBack(SetupFiles* setup_files);
-
- // Tells other instances to stop.
- HRESULT StopGoogleUpdate();
-
- // Tells other instances to stop then waits for them to exit.
- HRESULT StopGoogleUpdateAndWait();
-
- // Sets the shutdown event to signal other instances for this user or machine
- // to exit.
- HRESULT SignalShutdownEvent();
-
- // Releases all the shutdown events.
- void ReleaseShutdownEvents();
-
- // Waits for other instances of GoogleUpdate.exe to exit.
- HRESULT WaitForOtherInstancesToExit(const Pids& pids);
-
- // Gets the list of all the GoogleUpdate.exe processes to wait for.
- HRESULT GetPidsToWaitFor(Pids* pids) const;
-
- // Gets a list of GoogleUpdate.exe processes for user or machine that are
- // running from the respective official directory, except "/install" or
- // "/registerproduct" instances.
- // In the machine case we search in all the accounts since the workers can be
- // running in any admin account and the machine update worker runs as SYSTEM.
- // In the user case, we only search the user's account.
- // In both cases, the command line location is used to determine the
- // machine/user cases.
- HRESULT GetPidsToWaitForUsingCommandLine(Pids* pids) const;
-
- // Returns whether elevation is required to perform this install.
- bool IsElevationRequired() const;
-
-// TODO(omaha3): Support offline builds. Prefer to detect and maybe copy outside
-// Setup.
-#if 0
- // Given a guid, finds and copies the offline manifest and binaries from the
- // current module directory to the offline_dir passed in. offline_dir is
- // typically the Google\Update\Offline\ directory. The offline manifest is
- // copied to offline_dir\{GUID}.gup. The binaries are in the format
- // "Installer.msi.{GUID}", and they are copied to the offline_dir under the
- // subdirectory {GUID}, as Installer.msi.
- static HRESULT CopyOfflineFilesForGuid(const CString& app_guid,
- const CString& offline_dir);
-
- // For all the applications that have been requested, copy the offline
- // binaries. Calls CopyOfflineFilesForGuid() for each app_guid.
- bool CopyOfflineFiles(const CString& offline_dir);
-#endif
-
- // Starts the core.
- HRESULT StartMachineCoreProcess() const;
- HRESULT StartUserCoreProcess(const CString& core_cmd_line) const;
-
- // Returns the pids of running Omaha 2 Core processes for this user/system.
- HRESULT FindCoreProcesses(Pids* found_core_pids) const;
-
- // Forcefully kills appropriate core processes using ::TerminateProcess().
- HRESULT TerminateCoreProcesses() const;
-
- // Verifies that the appropriate core is running.
- bool IsCoreProcessRunning() const;
-
- // Starts the long-lived Core process.
- HRESULT StartCore() const;
-
- // Returns the SID to use for process searches, mutexes, etc. during this
- // installation.
- HRESULT GetAppropriateSid(CString* sid) const;
-
- // Initializes the Setup Lock with correct name and security attributes.
- static bool InitSetupLock(bool is_machine, GLock* setup_lock);
-
- // Returns true if GoogleUpdate can be uninstalled now.
- bool CanUninstallGoogleUpdate() const;
-
- // Control the state of the DelayUninstall flag. If set, uninstall will
- // be delayed for at least 24 hours after initial install.
- bool ShouldDelayUninstall() const;
- HRESULT SetDelayUninstall(bool should_delay) const;
-
- // Sends the uninstall ping and waits for the ping to be sent.
- HRESULT SendUninstallPing();
-
- const bool is_machine_;
- bool is_self_update_;
- CString saved_version_; // Previous version saved for roll back.
- scoped_event shutdown_event_;
- int extra_code1_;
-
- scoped_ptr<HighresTimer> metrics_timer_;
-
- // Whether this process uninstalled Google Update for any reason.
- // Access must be protected by the Setup Lock.
- static bool did_uninstall_;
-
- friend class SetupTest;
- friend class SetupOfflineInstallerTest;
- DISALLOW_EVIL_CONSTRUCTORS(Setup);
-};
-
-} // namespace omaha
-
-#endif // OMAHA_SETUP_SETUP_H__
-
« no previous file with comments | « setup/msi_test_utils.cc ('k') | setup/setup.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698