OLD | NEW |
---|---|
(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 | |
OLD | NEW |