OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium 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_DBUS_FAKE_UPDATE_ENGINE_CLIENT_H_ | 5 #ifndef CHROMEOS_DBUS_FAKE_UPDATE_ENGINE_CLIENT_H_ |
6 #define CHROMEOS_DBUS_FAKE_UPDATE_ENGINE_CLIENT_H_ | 6 #define CHROMEOS_DBUS_FAKE_UPDATE_ENGINE_CLIENT_H_ |
7 | 7 |
8 #include <queue> | |
8 #include <string> | 9 #include <string> |
9 | 10 |
10 #include "chromeos/dbus/update_engine_client.h" | 11 #include "chromeos/dbus/update_engine_client.h" |
11 | 12 |
12 namespace chromeos { | 13 namespace chromeos { |
13 | 14 |
14 // A fake implementation of UpdateEngineClient. The user of this class can | 15 // A fake implementation of UpdateEngineClient. The user of this class can |
15 // use set_update_engine_client_status() to set a fake last Status and | 16 // use set_update_engine_client_status() to set a fake last Status and |
16 // GetLastStatus() returns the fake with no modification. Other methods do | 17 // GetLastStatus() returns the fake with no modification. Other methods do |
17 // nothing. | 18 // nothing. |
18 class FakeUpdateEngineClient : public UpdateEngineClient { | 19 class FakeUpdateEngineClient : public UpdateEngineClient { |
19 public: | 20 public: |
20 FakeUpdateEngineClient(); | 21 FakeUpdateEngineClient(); |
21 virtual ~FakeUpdateEngineClient(); | 22 virtual ~FakeUpdateEngineClient(); |
22 | 23 |
23 // Overrides | 24 // Overrides |
24 virtual void AddObserver(Observer* observer) OVERRIDE; | 25 virtual void AddObserver(Observer* observer) OVERRIDE; |
25 virtual void RemoveObserver(Observer* observer) OVERRIDE; | 26 virtual void RemoveObserver(Observer* observer) OVERRIDE; |
26 virtual bool HasObserver(Observer* observer) OVERRIDE; | 27 virtual bool HasObserver(Observer* observer) OVERRIDE; |
27 virtual void RequestUpdateCheck(const UpdateCheckCallback& callback) OVERRIDE; | 28 virtual void RequestUpdateCheck(const UpdateCheckCallback& callback) OVERRIDE; |
28 virtual void RebootAfterUpdate() OVERRIDE; | 29 virtual void RebootAfterUpdate() OVERRIDE; |
29 virtual void SetReleaseTrack(const std::string& track) OVERRIDE; | 30 virtual void SetReleaseTrack(const std::string& track) OVERRIDE; |
30 virtual void GetReleaseTrack(const GetReleaseTrackCallback& callback) | 31 virtual void GetReleaseTrack(const GetReleaseTrackCallback& callback) |
31 OVERRIDE; | 32 OVERRIDE; |
32 virtual Status GetLastStatus() OVERRIDE; | 33 virtual Status GetLastStatus() OVERRIDE; |
33 | 34 |
35 // Push UpdateEngineClient::Status in the queue to test changing status. | |
36 // GetLastStatus() returns the status set by this method in FIFO order. | |
37 // See set_update_engine_client_status() as well. | |
38 void PushLastStatus(const UpdateEngineClient::Status& status) { | |
39 status_queue_.push(status); | |
40 } | |
41 | |
42 // Sets the default update_engine_client_status() as well. GetLastStatus() | |
43 // returns the value set here if |status_queue_| is empty. | |
34 void set_update_engine_client_status( | 44 void set_update_engine_client_status( |
35 const UpdateEngineClient::Status& status); | 45 const UpdateEngineClient::Status& status); |
36 | 46 |
37 // Sets a value returned by RequestUpdateCheck(). | 47 // Sets a value returned by RequestUpdateCheck(). |
38 void set_update_check_result( | 48 void set_update_check_result( |
39 const UpdateEngineClient::UpdateCheckResult& result); | 49 const UpdateEngineClient::UpdateCheckResult& result); |
40 | 50 |
41 // Returns how many times RebootAfterUpdate() is called. | 51 // Returns how many times RebootAfterUpdate() is called. |
42 int reboot_after_update_call_count() { | 52 int reboot_after_update_call_count() { |
43 return reboot_after_update_call_count_; | 53 return reboot_after_update_call_count_; |
44 } | 54 } |
45 | 55 |
46 private: | 56 private: |
57 std::queue<UpdateEngineClient::Status> status_queue_; | |
47 UpdateEngineClient::Status update_engine_client_status_; | 58 UpdateEngineClient::Status update_engine_client_status_; |
hashimoto
2013/05/14 10:37:21
How about renaming this to default_status_ to clar
Haruki Sato
2013/05/14 13:20:14
Good point. It is used for another unittest.
Renam
| |
48 UpdateEngineClient::UpdateCheckResult update_check_result_; | 59 UpdateEngineClient::UpdateCheckResult update_check_result_; |
49 int reboot_after_update_call_count_; | 60 int reboot_after_update_call_count_; |
50 }; | 61 }; |
51 | 62 |
52 } // namespace chromeos | 63 } // namespace chromeos |
53 | 64 |
54 #endif // CHROMEOS_DBUS_FAKE_UPDATE_ENGINE_CLIENT_H_ | 65 #endif // CHROMEOS_DBUS_FAKE_UPDATE_ENGINE_CLIENT_H_ |
OLD | NEW |