Index: client/install_progress_observer.h |
diff --git a/client/install_progress_observer.h b/client/install_progress_observer.h |
deleted file mode 100644 |
index a3b2c1a63b70e86fb9d091b04ab346ef746635b4..0000000000000000000000000000000000000000 |
--- a/client/install_progress_observer.h |
+++ /dev/null |
@@ -1,152 +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_INSTALL_PROGRESS_OBSERVER_H_ |
-#define OMAHA_CLIENT_INSTALL_PROGRESS_OBSERVER_H_ |
- |
-#include <windows.h> |
-#include <atlstr.h> |
-#include <vector> |
- |
-#include "omaha/base/safe_format.h" |
-#include "omaha/base/time.h" |
- |
-namespace omaha { |
- |
-// TODO(omaha3): These specify the completion UI to display not the job |
-// result as they did in Omaha 2. |
-// Some of them may not be necessary depending on how information is |
-// communicated to the observer. For example, should the COM API allow reboot/ |
-// restart browser AND launchcmd? |
-// If we keep this enum, rename to something like CompletionTypes to make it |
-// clear that it is describing the desired behavior of the observer. This also |
-// differentiates the name from LegacyCompetionCodes. |
-// TODO(omaha): If the codes below change, need a conversion method to convert |
-// to LegacyCompletionCodes. |
-typedef enum { |
- COMPLETION_CODE_SUCCESS = 1, |
- COMPLETION_CODE_EXIT_SILENTLY, |
- COMPLETION_CODE_ERROR = COMPLETION_CODE_SUCCESS + 2, |
- COMPLETION_CODE_RESTART_ALL_BROWSERS, |
- COMPLETION_CODE_REBOOT, |
- COMPLETION_CODE_RESTART_BROWSER, |
- COMPLETION_CODE_RESTART_ALL_BROWSERS_NOTICE_ONLY, |
- COMPLETION_CODE_REBOOT_NOTICE_ONLY, |
- COMPLETION_CODE_RESTART_BROWSER_NOTICE_ONLY, |
- COMPLETION_CODE_LAUNCH_COMMAND, |
- COMPLETION_CODE_EXIT_SILENTLY_ON_LAUNCH_COMMAND, |
- COMPLETION_CODE_INSTALL_FINISHED_BEFORE_CANCEL, |
-} CompletionCodes; |
- |
-inline bool IsCompletionCodeSuccess(CompletionCodes completion_code) { |
- switch (completion_code) { |
- case COMPLETION_CODE_SUCCESS: |
- case COMPLETION_CODE_EXIT_SILENTLY: |
- case COMPLETION_CODE_RESTART_ALL_BROWSERS: |
- case COMPLETION_CODE_REBOOT: |
- case COMPLETION_CODE_RESTART_BROWSER: |
- case COMPLETION_CODE_RESTART_ALL_BROWSERS_NOTICE_ONLY: |
- case COMPLETION_CODE_REBOOT_NOTICE_ONLY: |
- case COMPLETION_CODE_RESTART_BROWSER_NOTICE_ONLY: |
- case COMPLETION_CODE_LAUNCH_COMMAND: |
- case COMPLETION_CODE_EXIT_SILENTLY_ON_LAUNCH_COMMAND: |
- case COMPLETION_CODE_INSTALL_FINISHED_BEFORE_CANCEL: |
- return true; |
- |
- case COMPLETION_CODE_ERROR: |
- default: |
- return false; |
- } |
-} |
- |
-struct AppCompletionInfo { |
- CString display_name; |
- CString app_id; |
- CString completion_message; |
- CompletionCodes completion_code; |
- HRESULT error_code; |
- int extra_code1; |
- uint32 installer_result_code; |
- bool is_canceled; |
- bool is_noupdate; // noupdate response from server |
- CString post_install_launch_command_line; |
- CString post_install_url; |
- |
- AppCompletionInfo() : completion_code(COMPLETION_CODE_SUCCESS), |
- error_code(S_OK), |
- extra_code1(0), |
- installer_result_code(0), |
- is_canceled(false), |
- is_noupdate(false) {} |
- |
-#ifdef DEBUG |
- CString ToString() const { |
- CString result; |
- SafeCStringFormat(&result, |
- _T("[AppCompletionInfo][%s][%s][0x%x][%d][%d][%d][%d][cmd_line=%s]"), |
- app_id, completion_message, error_code, extra_code1, |
- installer_result_code, is_canceled, is_noupdate, |
- post_install_launch_command_line); |
- return result; |
- } |
-#endif |
-}; |
- |
-struct ObserverCompletionInfo { |
- CompletionCodes completion_code; |
- CString completion_text; |
- CString help_url; |
- std::vector<AppCompletionInfo> apps_info; |
- |
- explicit ObserverCompletionInfo(CompletionCodes code) |
- : completion_code(code) {} |
- |
-#ifdef DEBUG |
- CString ToString() const { |
- CString result; |
- SafeCStringFormat(&result, _T("[ObserverCompletionInfo][code=%d][text=%s]"), |
- completion_code, completion_text); |
- for (size_t i = 0; i < apps_info.size(); ++i) { |
- result.AppendFormat(_T("[%s]"), apps_info[i].ToString()); |
- } |
- return result; |
- } |
-#endif |
-}; |
- |
-// TODO(omaha3): This is bundle-centric. Add support for individual app-updates |
-// when we have a better idea of the new bundle-supporting UI. |
-class InstallProgressObserver { |
- public: |
- virtual ~InstallProgressObserver() {} |
- virtual void OnCheckingForUpdate() = 0; |
- virtual void OnUpdateAvailable(const CString& app_name, |
- const CString& version_string) = 0; |
- virtual void OnWaitingToDownload(const CString& app_name) = 0; |
- virtual void OnDownloading(const CString& app_name, |
- int time_remaining_ms, |
- int pos) = 0; |
- virtual void OnWaitingRetryDownload(const CString& app_name, |
- time64 next_retry_time) = 0; |
- virtual void OnWaitingToInstall(const CString& app_name, |
- bool* can_start_install) = 0; |
- virtual void OnInstalling(const CString& app_name) = 0; |
- virtual void OnPause() = 0; |
- virtual void OnComplete(const ObserverCompletionInfo& observer_info) = 0; |
-}; |
- |
-} // namespace omaha |
- |
-#endif // OMAHA_CLIENT_INSTALL_PROGRESS_OBSERVER_H_ |