fake_gcm_driver.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // Copyright 2014 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 COMPONENTS_GCM_DRIVER_FAKE_GCM_DRIVER_H_
  5. #define COMPONENTS_GCM_DRIVER_FAKE_GCM_DRIVER_H_
  6. #include "base/compiler_specific.h"
  7. #include "base/memory/ref_counted.h"
  8. #include "components/gcm_driver/gcm_driver.h"
  9. namespace base {
  10. class FilePath;
  11. class SequencedTaskRunner;
  12. }
  13. namespace gcm {
  14. class FakeGCMDriver : public GCMDriver {
  15. public:
  16. FakeGCMDriver();
  17. FakeGCMDriver(
  18. const base::FilePath& store_path,
  19. const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner);
  20. FakeGCMDriver(const FakeGCMDriver&) = delete;
  21. FakeGCMDriver& operator=(const FakeGCMDriver&) = delete;
  22. ~FakeGCMDriver() override;
  23. // GCMDriver overrides:
  24. void ValidateRegistration(const std::string& app_id,
  25. const std::vector<std::string>& sender_ids,
  26. const std::string& registration_id,
  27. ValidateRegistrationCallback callback) override;
  28. void OnSignedIn() override;
  29. void OnSignedOut() override;
  30. void AddConnectionObserver(GCMConnectionObserver* observer) override;
  31. void RemoveConnectionObserver(GCMConnectionObserver* observer) override;
  32. GCMClient* GetGCMClientForTesting() const override;
  33. bool IsStarted() const override;
  34. bool IsConnected() const override;
  35. void GetGCMStatistics(GetGCMStatisticsCallback callback,
  36. ClearActivityLogs clear_logs) override;
  37. void SetGCMRecording(const GCMStatisticsRecordingCallback& callback,
  38. bool recording) override;
  39. void SetAccountTokens(
  40. const std::vector<GCMClient::AccountTokenInfo>& account_tokens) override;
  41. void UpdateAccountMapping(const AccountMapping& account_mapping) override;
  42. void RemoveAccountMapping(const CoreAccountId& account_id) override;
  43. base::Time GetLastTokenFetchTime() override;
  44. void SetLastTokenFetchTime(const base::Time& time) override;
  45. InstanceIDHandler* GetInstanceIDHandlerInternal() override;
  46. void AddHeartbeatInterval(const std::string& scope, int interval_ms) override;
  47. void RemoveHeartbeatInterval(const std::string& scope) override;
  48. protected:
  49. // GCMDriver implementation:
  50. GCMClient::Result EnsureStarted(
  51. GCMClient::StartMode start_mode) override;
  52. void RegisterImpl(const std::string& app_id,
  53. const std::vector<std::string>& sender_ids) override;
  54. void UnregisterImpl(const std::string& app_id) override;
  55. void SendImpl(const std::string& app_id,
  56. const std::string& receiver_id,
  57. const OutgoingMessage& message) override;
  58. void RecordDecryptionFailure(const std::string& app_id,
  59. GCMDecryptionResult result) override;
  60. };
  61. } // namespace gcm
  62. #endif // COMPONENTS_GCM_DRIVER_FAKE_GCM_DRIVER_H_