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

Unified Diff: client/bundle_installer.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 | « client/bundle_creator_test.cc ('k') | client/bundle_installer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/bundle_installer.h
diff --git a/client/bundle_installer.h b/client/bundle_installer.h
deleted file mode 100644
index 44cc601631ba668e8024688b1868c03a06a606de..0000000000000000000000000000000000000000
--- a/client/bundle_installer.h
+++ /dev/null
@@ -1,242 +0,0 @@
-// Copyright 2009-2010 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.
-// ========================================================================
-
-
-#ifndef OMAHA_CLIENT_BUNDLE_INSTALLER_H_
-#define OMAHA_CLIENT_BUNDLE_INSTALLER_H_
-
-#include <windows.h>
-#include <atlstr.h>
-#include <vector>
-#include "base/basictypes.h"
-#include "base/scoped_ptr.h"
-#include "omaha/base/safe_format.h"
-#include "omaha/base/wtl_atlapp_wrapper.h"
-#include "goopdate/omaha3_idl.h"
-#include "omaha/client/install_progress_observer.h"
-
-namespace omaha {
-
-// TODO(omaha): These should be declared in their own file.
-namespace internal {
-
-CString GetAppDisplayName(IApp* app);
-
-// Builds a list of app names of the format "one, two, three".
-// TODO(omaha): If this does not end up using AppCompletionInfo, move it to
-// client_utils.
-CString BuildAppNameList(const std::vector<CString>& app_names);
-
-// Helper function that returns the error information from the ICurrentState.
-HRESULT GetCompletionInformation(IApp* app,
- CurrentState* current_state,
- AppCompletionInfo* app_info);
-
-// Gets the completion message for an app.
-void GetAppCompletionMessage(IApp* app,
- AppCompletionInfo* app_info);
-
-// Gets the completion message for the bundle.
-// If the bundle name cannot be obtained, pass an empty string in bundle_name.
-// TODO(omaha): If AppCompletionInfo is exposed, maybe move to client_utils.
-CString GetBundleCompletionMessage(
- const CString& bundle_name,
- const std::vector<AppCompletionInfo>& apps_info,
- bool is_only_no_update,
- bool is_canceled);
-
-} // namespace internal
-
-class HelpUrlBuilder;
-class ShutdownCallback;
-
-class BundleInstaller
- : public CWindowImpl<BundleInstaller,
- CWindow,
- CWinTraits<WS_OVERLAPPED, WS_EX_TOOLWINDOW> > {
- public:
- // Takes ownership of help_url_builder.
- BundleInstaller(HelpUrlBuilder* help_url_builder,
- bool is_update_all_apps,
- bool is_update_check_only,
- bool is_browser_type_supported);
- ~BundleInstaller();
-
- HRESULT Initialize();
- void Uninitialize();
-
- // Installs a bundle. The installer takes the ownership of the bundle and
- // releases the inteface before function returns.
- HRESULT InstallBundle(bool is_machine,
- bool listen_to_shutdown_event,
- IAppBundle* app_bundle,
- InstallProgressObserver* observer);
-
- void SetBundleParentWindow(HWND parent_window);
-
- // Message loop that pumps messages during installation.
- CMessageLoop* message_loop() { return &message_loop_; }
-
- // Handles asynchronous requests for the application to close.
- void DoClose();
-
- // Handles requests to exit the BundleInstaller message loop. Should only be
- // called after the BundleInstaller is in the kComplete state, i.e., after
- // OnComplete().
- void DoExit();
-
- // Handles asynchronous requests to cancel install.
- void DoCancel();
-
- // Polls the COM server and advances the install state appropriately.
- // Returns true if the caller should continue polling.
- bool PollServer();
-
- HRESULT result();
-
- private:
- enum State {
- kInit,
- kProcessing,
- kComplete,
- };
-
- // Contains additional information about the bundle completion.
- struct BundleCompletionInfo {
- CompletionCodes completion_code;
- HRESULT bundle_result; // Result to return up call stack on completion.
- CString bundle_completion_message;
- std::vector<AppCompletionInfo> apps_info;
-
- BundleCompletionInfo(CompletionCodes code,
- HRESULT result,
- const CString& message)
- : completion_code(code),
- bundle_result(result),
- bundle_completion_message(message) {}
-
-#ifdef DEBUG
- CString ToString() const {
- CString result;
- SafeCStringFormat(&result, _T("[BundleCompletionInfo][%d][0x%x][%s]"),
- completion_code,
- bundle_result,
- bundle_completion_message);
- for (size_t i = 0; i < apps_info.size(); ++i) {
- SafeCStringAppendFormat(&result, _T("[%s]"), apps_info[i].ToString());
- }
- return result;
- }
-#endif
- };
-
- // Does the work for PollServer.
- HRESULT DoPollServer();
-
- // Performs the polling while checking for update.
- HRESULT HandleUpdateAvailable();
-
- // Handles the first call to PollServer().
- HRESULT HandleInitState();
-
- // Performs all subsequent calls to PollServer() until the state is complete.
- HRESULT HandleProcessingState();
-
- // Makes installer listen to the shutdown event.
- HRESULT ListenToShutdownEvent(bool is_machine);
-
- // Stops listening to the shutdown event if the installer is currently
- // listening. Otherwise no effect.
- void StopListenToShutdownEvent(bool is_machine);
-
- // These functions update the UI during HandleProcessingState().
- // TODO(omaha): Rename these to Notify*.
- HRESULT NotifyUpdateAvailable(IApp* app);
- HRESULT NotifyDownloadProgress(IApp* app, ICurrentState* icurrent_state);
- HRESULT NotifyWaitingToInstall(IApp* app);
- HRESULT NotifyInstallProgress(IApp* app, ICurrentState* icurrent_state);
- HRESULT NotifyBundleUpdateCheckOnlyComplete();
- HRESULT NotifyBundleInstallComplete();
-
- // Helper functions for the Notify* functions.
- HRESULT HandleUpdateCheckResults(int* num_updates);
- void GetAppDownloadProgress(ICurrentState* icurrent_state,
- int* time_remaining_ms,
- int* percentage,
- time64* next_retry_time);
-
- void CancelBundle();
-
- // Sets the state to complete and informs the UI.
- void Complete(const BundleCompletionInfo& bundle_info);
-
- BEGIN_MSG_MAP(BundleInstaller)
- MESSAGE_HANDLER(WM_CLOSE, OnClose)
- MESSAGE_HANDLER(WM_TIMER, OnTimer)
- END_MSG_MAP()
-
- static const int kPollingTimerId = 1;
- static const int kPollingTimerPeriodMs = 100;
-
- // The main use case for this OnClose() handler is the shutdown handler via a
- // PostMessage in the /UA scenario.
- LRESULT OnClose(UINT msg,
- WPARAM wparam,
- LPARAM lparam,
- BOOL& handled); // NOLINT
-
- // Calls BundleInstaller::PollServer() at periodic intervals.
- LRESULT OnTimer(UINT msg,
- WPARAM wparam,
- LPARAM lparam,
- BOOL& handled); // NOLINT
-
- void ReleaseAppBundle();
-
- InstallProgressObserver* observer_;
- scoped_ptr<HelpUrlBuilder> help_url_builder_;
-
- // The bundle to be installed.
- CComPtr<IAppBundle> app_bundle_;
-
- // Bundle parent window.
- HWND parent_window_;
-
- // Message loop that pumps messages during installation.
- CMessageLoop message_loop_;
-
- // Shutdown event listener.
- scoped_ptr<ShutdownCallback> shutdown_callback_;
-
- // The apps in app_bundle_. Allows easier and quicker access to the apps than
- // going through app_bundle_.
- typedef CComPtr<IApp> ComPtrIApp;
- typedef CAdapt<ComPtrIApp> AdaptIApp;
- std::vector<AdaptIApp> apps_;
-
- State state_;
- HRESULT result_;
- bool is_canceled_;
-
- const bool is_update_all_apps_;
- const bool is_update_check_only_; // Only used by legacy OnDemand.
- const bool is_browser_type_supported_;
-
- DISALLOW_IMPLICIT_CONSTRUCTORS(BundleInstaller);
-};
-
-} // namespace omaha
-
-#endif // OMAHA_CLIENT_BUNDLE_INSTALLER_H_
« no previous file with comments | « client/bundle_creator_test.cc ('k') | client/bundle_installer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698