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

Side by Side Diff: chrome/browser/chromeos/accessibility/accessibility_private_extension_api.cc

Issue 8747003: Add private system extension API to get system update status (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Codereview Created 9 years 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
(Empty)
1 #include "chrome/browser/chromeos/accessibility/accessibility_private_extension_ api.h"
dmazzoni 2011/11/30 15:46:04 Need copyright at top of file
hashimoto 2011/12/01 02:28:00 Done.
2
3 #include "chrome/browser/chromeos/dbus/dbus_thread_manager.h"
4 #include "chrome/browser/chromeos/dbus/update_engine_client.h"
5
6 namespace chromeos {
7 namespace accessibility {
8
9 namespace {
10
11 // Property keys.
12 const char kStateKey[] = "state";
13 const char kDownloadProgressKey[] = "download_progress";
14
15 // System update states.
16 const char kNotAvailableState[] = "NotAvailable";
17 const char kUpdatingState[] = "Updating";
18 const char kNeedRebootState[] = "NeedReboot";
19
20 } // namespace
21
22 bool GetUpdateStatusFunction::RunImpl() {
23 const chromeos::UpdateEngineClient::Status status =
24 chromeos::DBusThreadManager::Get()->GetUpdateEngineClient()->
dmazzoni 2011/11/30 15:46:04 Do you need to do NULL checks of any of these? Is
hashimoto 2011/12/01 02:28:00 No need for NULL check here because a stub impleme
25 GetLastStatus();
26 // |download_progress| is set to 1 after download finishes
27 // (i.e. verify, finalize and need-reboot phase) to indicate the progress
28 // even though |status.download_progress| is 0 in these phases.
29 std::string state;
30 double download_progress = 0;
31 switch(status.status) {
32 case chromeos::UpdateEngineClient::UPDATE_STATUS_ERROR:
33 state = kNotAvailableState;
34 break;
35 case chromeos::UpdateEngineClient::UPDATE_STATUS_IDLE:
36 state = kNotAvailableState;
37 break;
38 case chromeos::UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE:
39 state = kNotAvailableState;
40 break;
41 case chromeos::UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE:
42 state = kUpdatingState;
43 break;
44 case chromeos::UpdateEngineClient::UPDATE_STATUS_DOWNLOADING:
45 state = kUpdatingState;
46 download_progress = status.download_progress;
47 break;
48 case chromeos::UpdateEngineClient::UPDATE_STATUS_VERIFYING:
49 state = kUpdatingState;
50 download_progress = 1;
51 break;
52 case chromeos::UpdateEngineClient::UPDATE_STATUS_FINALIZING:
53 state = kUpdatingState;
54 download_progress = 1;
55 break;
56 case chromeos::UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT:
57 state = kNeedRebootState;
58 download_progress = 1;
59 break;
60 case chromeos::UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT:
61 state = kNotAvailableState;
62 break;
63 }
64 DictionaryValue* dict = new DictionaryValue();
65 dict->SetString(kStateKey, state);
66 dict->SetDouble(kDownloadProgressKey, download_progress);
67 result_.reset(dict);
68
69 return true;
70 }
71
72 } // namespace accessibility
73 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698