fake_dlcservice_client.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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
  3. // found in the LICENSE file.
  4. #ifndef CHROMEOS_DBUS_DLCSERVICE_FAKE_DLCSERVICE_CLIENT_H_
  5. #define CHROMEOS_DBUS_DLCSERVICE_FAKE_DLCSERVICE_CLIENT_H_
  6. #include <string>
  7. #include "base/component_export.h"
  8. #include "base/containers/queue.h"
  9. #include "base/observer_list.h"
  10. #include "chromeos/dbus/dlcservice/dlcservice_client.h"
  11. namespace chromeos {
  12. // A fake implementation of DlcserviceClient.
  13. class COMPONENT_EXPORT(DLCSERVICE_CLIENT) FakeDlcserviceClient
  14. : public DlcserviceClient {
  15. public:
  16. FakeDlcserviceClient();
  17. ~FakeDlcserviceClient() override;
  18. // DlcserviceClient:
  19. void Install(const dlcservice::InstallRequest& install_request,
  20. InstallCallback callback,
  21. ProgressCallback progress_callback) override;
  22. // Uninstalling disables the DLC.
  23. void Uninstall(const std::string& dlc_id,
  24. UninstallCallback callback) override;
  25. // Purging removes the DLC entirely from disk.
  26. void Purge(const std::string& dlc_id, PurgeCallback callback) override;
  27. void GetDlcState(const std::string& dlc_id,
  28. GetDlcStateCallback callback) override;
  29. void GetExistingDlcs(GetExistingDlcsCallback callback) override;
  30. void DlcStateChangedForTest(dbus::Signal* signal) override;
  31. void AddObserver(Observer* observer) override;
  32. void RemoveObserver(Observer* observer) override;
  33. void NotifyObserversForTest(const dlcservice::DlcState& dlc_state);
  34. // Setters:
  35. void set_install_error(const std::string& err) { install_err_ = err; }
  36. void set_install_root_path(const std::string& path) {
  37. install_root_path_ = path;
  38. }
  39. void set_uninstall_error(const std::string& err) { uninstall_err_ = err; }
  40. void set_purge_error(const std::string& err) { purge_err_ = err; }
  41. void set_get_dlc_state_error(const std::string& err) {
  42. get_dlc_state_err_ = err;
  43. }
  44. void set_get_existing_dlcs_error(const std::string& err) {
  45. get_existing_dlcs_err_ = err;
  46. }
  47. void set_dlcs_with_content(
  48. const dlcservice::DlcsWithContent& dlcs_with_content) {
  49. dlcs_with_content_ = dlcs_with_content;
  50. }
  51. void set_dlc_state(const dlcservice::DlcState& dlc_state) {
  52. dlc_state_ = dlc_state;
  53. }
  54. private:
  55. std::string install_err_ = dlcservice::kErrorNone;
  56. std::string uninstall_err_ = dlcservice::kErrorNone;
  57. std::string purge_err_ = dlcservice::kErrorNone;
  58. std::string get_dlc_state_err_ = dlcservice::kErrorNone;
  59. std::string get_installed_err_ = dlcservice::kErrorNone;
  60. std::string get_existing_dlcs_err_ = dlcservice::kErrorNone;
  61. std::string install_root_path_;
  62. dlcservice::DlcsWithContent dlcs_with_content_;
  63. dlcservice::DlcState dlc_state_;
  64. // A list of observers that are listening on state changes, etc.
  65. base::ObserverList<Observer> observers_;
  66. };
  67. } // namespace chromeos
  68. #endif // CHROMEOS_DBUS_DLCSERVICE_FAKE_DLCSERVICE_CLIENT_H_