OLD | NEW |
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__ | 5 #ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__ |
6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__ | 6 #define CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__ |
7 | 7 |
8 #include <time.h> | 8 #include <time.h> |
9 #include <tr1/memory> | 9 #include <tr1/memory> |
10 #include <string> | 10 #include <string> |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 status_(UPDATE_STATUS_IDLE), | 44 status_(UPDATE_STATUS_IDLE), |
45 download_progress_(0.0), | 45 download_progress_(0.0), |
46 last_checked_time_(0), | 46 last_checked_time_(0), |
47 new_version_("0.0.0.0"), | 47 new_version_("0.0.0.0"), |
48 new_size_(0) { | 48 new_size_(0) { |
49 last_notify_time_.tv_sec = 0; | 49 last_notify_time_.tv_sec = 0; |
50 last_notify_time_.tv_nsec = 0; | 50 last_notify_time_.tv_nsec = 0; |
51 if (utils::FileExists(kUpdateCompletedMarker)) | 51 if (utils::FileExists(kUpdateCompletedMarker)) |
52 status_ = UPDATE_STATUS_UPDATED_NEED_REBOOT; | 52 status_ = UPDATE_STATUS_UPDATED_NEED_REBOOT; |
53 } | 53 } |
54 void Update(); | 54 // Checks for update and, if a newer version is available, attempts |
| 55 // to update the system. Non-empty |in_app_version| or |
| 56 // |in_update_url| prevents automatic detection of the parameter. |
| 57 void Update(const std::string& app_version, const std::string& omaha_url); |
55 | 58 |
56 // ActionProcessorDelegate methods: | 59 // ActionProcessorDelegate methods: |
57 void ProcessingDone(const ActionProcessor* processor, ActionExitCode code); | 60 void ProcessingDone(const ActionProcessor* processor, ActionExitCode code); |
58 void ProcessingStopped(const ActionProcessor* processor); | 61 void ProcessingStopped(const ActionProcessor* processor); |
59 void ActionCompleted(ActionProcessor* processor, | 62 void ActionCompleted(ActionProcessor* processor, |
60 AbstractAction* action, | 63 AbstractAction* action, |
61 ActionExitCode code); | 64 ActionExitCode code); |
62 | 65 |
63 // Stop updating. An attempt will be made to record status to the disk | 66 // Stop updating. An attempt will be made to record status to the disk |
64 // so that updates can be resumed later. | 67 // so that updates can be resumed later. |
65 void Terminate(); | 68 void Terminate(); |
66 | 69 |
67 // Try to resume from a previously Terminate()d update. | 70 // Try to resume from a previously Terminate()d update. |
68 void ResumeUpdating(); | 71 void ResumeUpdating(); |
69 | 72 |
70 // Returns the current status in the out params. Returns true on success. | 73 // Returns the current status in the out params. Returns true on success. |
71 bool GetStatus(int64_t* last_checked_time, | 74 bool GetStatus(int64_t* last_checked_time, |
72 double* progress, | 75 double* progress, |
73 std::string* current_operation, | 76 std::string* current_operation, |
74 std::string* new_version, | 77 std::string* new_version, |
75 int64_t* new_size); | 78 int64_t* new_size); |
76 | 79 |
77 void set_dbus_service(struct UpdateEngineService* dbus_service) { | 80 void set_dbus_service(struct UpdateEngineService* dbus_service) { |
78 dbus_service_ = dbus_service; | 81 dbus_service_ = dbus_service; |
79 } | 82 } |
80 | 83 |
81 void CheckForUpdate(); | 84 // This is the D-Bus service entry point for going through an |
| 85 // update. If the current status is idle invokes Update. |
| 86 void CheckForUpdate(const std::string& app_version, |
| 87 const std::string& omaha_url); |
82 | 88 |
83 // DownloadActionDelegate method | 89 // DownloadActionDelegate method |
84 void BytesReceived(uint64_t bytes_received, uint64_t total); | 90 void BytesReceived(uint64_t bytes_received, uint64_t total); |
85 | 91 |
86 private: | 92 private: |
87 // Sets the status to the given status and notifies a status update | 93 // Sets the status to the given status and notifies a status update |
88 // over dbus. | 94 // over dbus. |
89 void SetStatusAndNotify(UpdateStatus status); | 95 void SetStatusAndNotify(UpdateStatus status); |
90 | 96 |
91 // Creates an error event object in |error_event_| to be included in | 97 // Creates an error event object in |error_event_| to be included in |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 | 131 |
126 // Device paramaters common to all Omaha requests. | 132 // Device paramaters common to all Omaha requests. |
127 OmahaRequestDeviceParams omaha_request_params_; | 133 OmahaRequestDeviceParams omaha_request_params_; |
128 | 134 |
129 DISALLOW_COPY_AND_ASSIGN(UpdateAttempter); | 135 DISALLOW_COPY_AND_ASSIGN(UpdateAttempter); |
130 }; | 136 }; |
131 | 137 |
132 } // namespace chromeos_update_engine | 138 } // namespace chromeos_update_engine |
133 | 139 |
134 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__ | 140 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__ |
OLD | NEW |