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

Side by Side Diff: update_attempter.h

Issue 6836025: Add support to update_engine to poke Omaha after an update has been applied (Closed) Base URL: http://git.chromium.org/git/update_engine.git@master
Patch Set: Fixed bug where last ping day was not properly updated Created 9 years, 8 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
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>
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 private: 116 private:
117 friend class UpdateAttempterTest; 117 friend class UpdateAttempterTest;
118 FRIEND_TEST(UpdateAttempterTest, ActionCompletedDownloadTest); 118 FRIEND_TEST(UpdateAttempterTest, ActionCompletedDownloadTest);
119 FRIEND_TEST(UpdateAttempterTest, ActionCompletedErrorTest); 119 FRIEND_TEST(UpdateAttempterTest, ActionCompletedErrorTest);
120 FRIEND_TEST(UpdateAttempterTest, ActionCompletedOmahaRequestTest); 120 FRIEND_TEST(UpdateAttempterTest, ActionCompletedOmahaRequestTest);
121 FRIEND_TEST(UpdateAttempterTest, DisableDeltaUpdateIfNeededTest); 121 FRIEND_TEST(UpdateAttempterTest, DisableDeltaUpdateIfNeededTest);
122 FRIEND_TEST(UpdateAttempterTest, MarkDeltaUpdateFailureTest); 122 FRIEND_TEST(UpdateAttempterTest, MarkDeltaUpdateFailureTest);
123 FRIEND_TEST(UpdateAttempterTest, ScheduleErrorEventActionNoEventTest); 123 FRIEND_TEST(UpdateAttempterTest, ScheduleErrorEventActionNoEventTest);
124 FRIEND_TEST(UpdateAttempterTest, ScheduleErrorEventActionTest); 124 FRIEND_TEST(UpdateAttempterTest, ScheduleErrorEventActionTest);
125 FRIEND_TEST(UpdateAttempterTest, UpdateTest); 125 FRIEND_TEST(UpdateAttempterTest, UpdateTest);
126 FRIEND_TEST(UpdateAttempterTest, PingOmahaTest);
126 127
127 // Sets the status to the given status and notifies a status update 128 // Sets the status to the given status and notifies a status update
128 // over dbus. 129 // over dbus.
129 void SetStatusAndNotify(UpdateStatus status); 130 void SetStatusAndNotify(UpdateStatus status);
130 131
131 // Sets up the download parameters after receiving the update check response. 132 // Sets up the download parameters after receiving the update check response.
132 void SetupDownload(); 133 void SetupDownload();
133 134
134 // Creates an error event object in |error_event_| to be included in an 135 // Creates an error event object in |error_event_| to be included in an
135 // OmahaRequestAction once the current action processor is done. 136 // OmahaRequestAction once the current action processor is done.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 // If this was a delta update attempt that failed, count it so that a full 169 // If this was a delta update attempt that failed, count it so that a full
169 // update can be tried when needed. 170 // update can be tried when needed.
170 void MarkDeltaUpdateFailure(); 171 void MarkDeltaUpdateFailure();
171 172
172 ProxyResolver* GetProxyResolver() { 173 ProxyResolver* GetProxyResolver() {
173 return obeying_proxies_ ? 174 return obeying_proxies_ ?
174 reinterpret_cast<ProxyResolver*>(&chrome_proxy_resolver_) : 175 reinterpret_cast<ProxyResolver*>(&chrome_proxy_resolver_) :
175 reinterpret_cast<ProxyResolver*>(&direct_proxy_resolver_); 176 reinterpret_cast<ProxyResolver*>(&direct_proxy_resolver_);
176 } 177 }
177 178
179 // Sends a ping to Omaha.
180 // This is used after an update has been applied and we're waiting for the
181 // user to reboot. This ping helps keep the number of actives count
182 // accurate in case a user takes a long time to reboot the device after an
183 // update has been applied.
184 void PingOmaha();
185
178 // Last status notification timestamp used for throttling. Use monotonic 186 // Last status notification timestamp used for throttling. Use monotonic
179 // TimeTicks to ensure that notifications are sent even if the system clock is 187 // TimeTicks to ensure that notifications are sent even if the system clock is
180 // set back in the middle of an update. 188 // set back in the middle of an update.
181 base::TimeTicks last_notify_time_; 189 base::TimeTicks last_notify_time_;
182 190
183 std::vector<std::tr1::shared_ptr<AbstractAction> > actions_; 191 std::vector<std::tr1::shared_ptr<AbstractAction> > actions_;
184 scoped_ptr<ActionProcessor> processor_; 192 scoped_ptr<ActionProcessor> processor_;
185 193
186 // If non-null, this UpdateAttempter will send status updates over this 194 // If non-null, this UpdateAttempter will send status updates over this
187 // dbus service. 195 // dbus service.
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 // Our two proxy resolvers 247 // Our two proxy resolvers
240 DirectProxyResolver direct_proxy_resolver_; 248 DirectProxyResolver direct_proxy_resolver_;
241 ChromeBrowserProxyResolver chrome_proxy_resolver_; 249 ChromeBrowserProxyResolver chrome_proxy_resolver_;
242 250
243 DISALLOW_COPY_AND_ASSIGN(UpdateAttempter); 251 DISALLOW_COPY_AND_ASSIGN(UpdateAttempter);
244 }; 252 };
245 253
246 } // namespace chromeos_update_engine 254 } // namespace chromeos_update_engine
247 255
248 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__ 256 #endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_UPDATE_ATTEMPTER_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698