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

Side by Side Diff: update_attempter.h

Issue 3259011: AU: Start an UpdateAttempter unit test suite. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/update_engine.git
Patch Set: Created 10 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « download_action.h ('k') | update_attempter.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 9
10 #include <tr1/memory> 10 #include <tr1/memory>
11 #include <string> 11 #include <string>
12 #include <vector> 12 #include <vector>
13 13
14 #include <glib.h> 14 #include <glib.h>
15 #include <gtest/gtest_prod.h> // for FRIEND_TEST
15 16
16 #include "base/time.h" 17 #include "base/time.h"
17 #include "update_engine/action_processor.h" 18 #include "update_engine/action_processor.h"
18 #include "update_engine/download_action.h" 19 #include "update_engine/download_action.h"
19 #include "update_engine/omaha_request_params.h" 20 #include "update_engine/omaha_request_params.h"
20 #include "update_engine/omaha_response_handler_action.h" 21 #include "update_engine/omaha_response_handler_action.h"
21 22
22 class MetricsLibraryInterface; 23 class MetricsLibraryInterface;
23 struct UpdateEngineService; 24 struct UpdateEngineService;
24 25
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 98
98 // Initiates a reboot if the current state is 99 // Initiates a reboot if the current state is
99 // UPDATED_NEED_REBOOT. Returns true on sucess, false otherwise. 100 // UPDATED_NEED_REBOOT. Returns true on sucess, false otherwise.
100 bool RebootIfNeeded(); 101 bool RebootIfNeeded();
101 102
102 // DownloadActionDelegate methods 103 // DownloadActionDelegate methods
103 void SetDownloadStatus(bool active); 104 void SetDownloadStatus(bool active);
104 void BytesReceived(uint64_t bytes_received, uint64_t total); 105 void BytesReceived(uint64_t bytes_received, uint64_t total);
105 106
106 private: 107 private:
108 friend class UpdateAttempterTest;
109 FRIEND_TEST(UpdateAttempterTest, UpdateTest);
110
107 // Sets the status to the given status and notifies a status update 111 // Sets the status to the given status and notifies a status update
108 // over dbus. 112 // over dbus.
109 void SetStatusAndNotify(UpdateStatus status); 113 void SetStatusAndNotify(UpdateStatus status);
110 114
111 // Creates an error event object in |error_event_| to be included in 115 // Creates an error event object in |error_event_| to be included in
112 // an OmahaRequestAction once the current action processor is done. 116 // an OmahaRequestAction once the current action processor is done.
113 void CreatePendingErrorEvent(AbstractAction* action, ActionExitCode code); 117 void CreatePendingErrorEvent(AbstractAction* action, ActionExitCode code);
114 118
115 // If there's a pending error event allocated in |error_event_|, 119 // If there's a pending error event allocated in |error_event_|,
116 // schedules an OmahaRequestAction with that event in the current 120 // schedules an OmahaRequestAction with that event in the current
(...skipping 20 matching lines...) Expand all
137 // timeout, or false if GLib can destroy this timeout source. 141 // timeout, or false if GLib can destroy this timeout source.
138 static gboolean StaticManagePriorityCallback(gpointer data); 142 static gboolean StaticManagePriorityCallback(gpointer data);
139 bool ManagePriorityCallback(); 143 bool ManagePriorityCallback();
140 144
141 // Last status notification timestamp used for throttling. Use 145 // Last status notification timestamp used for throttling. Use
142 // monotonic TimeTicks to ensure that notifications are sent even if 146 // monotonic TimeTicks to ensure that notifications are sent even if
143 // the system clock is set back in the middle of an update. 147 // the system clock is set back in the middle of an update.
144 base::TimeTicks last_notify_time_; 148 base::TimeTicks last_notify_time_;
145 149
146 std::vector<std::tr1::shared_ptr<AbstractAction> > actions_; 150 std::vector<std::tr1::shared_ptr<AbstractAction> > actions_;
147 ActionProcessor processor_; 151 scoped_ptr<ActionProcessor> processor_;
148 152
149 // If non-null, this UpdateAttempter will send status updates over this 153 // If non-null, this UpdateAttempter will send status updates over this
150 // dbus service. 154 // dbus service.
151 UpdateEngineService* dbus_service_; 155 UpdateEngineService* dbus_service_;
152 156
153 // pointer to the OmahaResponseHandlerAction in the actions_ vector; 157 // pointer to the OmahaResponseHandlerAction in the actions_ vector;
154 std::tr1::shared_ptr<OmahaResponseHandlerAction> response_handler_action_; 158 std::tr1::shared_ptr<OmahaResponseHandlerAction> response_handler_action_;
155 159
156 // Pointer to the preferences store interface. 160 // Pointer to the preferences store interface.
157 PrefsInterface* prefs_; 161 PrefsInterface* prefs_;
(...skipping 28 matching lines...) Expand all
186 190
187 // Device paramaters common to all Omaha requests. 191 // Device paramaters common to all Omaha requests.
188 OmahaRequestDeviceParams omaha_request_params_; 192 OmahaRequestDeviceParams omaha_request_params_;
189 193
190 DISALLOW_COPY_AND_ASSIGN(UpdateAttempter); 194 DISALLOW_COPY_AND_ASSIGN(UpdateAttempter);
191 }; 195 };
192 196
193 } // namespace chromeos_update_engine 197 } // namespace chromeos_update_engine
194 198
195 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__ 199 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__
OLDNEW
« no previous file with comments | « download_action.h ('k') | update_attempter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698