fake_gcm_driver.h revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
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
5#ifndef COMPONENTS_GCM_DRIVER_FAKE_GCM_DRIVER_H_
6#define COMPONENTS_GCM_DRIVER_FAKE_GCM_DRIVER_H_
7
8#include "base/compiler_specific.h"
9#include "base/macros.h"
10#include "components/gcm_driver/gcm_driver.h"
11
12namespace gcm {
13
14class FakeGCMDriver : public GCMDriver {
15 public:
16  FakeGCMDriver();
17  virtual ~FakeGCMDriver();
18
19  // GCMDriver overrides:
20  virtual void Shutdown() OVERRIDE;
21  virtual void AddAppHandler(const std::string& app_id,
22                             GCMAppHandler* handler) OVERRIDE;
23  virtual void RemoveAppHandler(const std::string& app_id) OVERRIDE;
24  virtual void OnSignedIn() OVERRIDE;
25  virtual void Purge() OVERRIDE;
26  virtual void AddConnectionObserver(GCMConnectionObserver* observer) OVERRIDE;
27  virtual void RemoveConnectionObserver(
28      GCMConnectionObserver* observer) OVERRIDE;
29  virtual void Enable() OVERRIDE;
30  virtual void Disable() OVERRIDE;
31  virtual GCMClient* GetGCMClientForTesting() const OVERRIDE;
32  virtual bool IsStarted() const OVERRIDE;
33  virtual bool IsConnected() const OVERRIDE;
34  virtual void GetGCMStatistics(const GetGCMStatisticsCallback& callback,
35                                bool clear_logs) OVERRIDE;
36  virtual void SetGCMRecording(const GetGCMStatisticsCallback& callback,
37                               bool recording) OVERRIDE;
38  virtual void UpdateAccountMapping(
39      const AccountMapping& account_mapping) OVERRIDE;
40  virtual void RemoveAccountMapping(const std::string& account_id) OVERRIDE;
41
42 protected:
43  // GCMDriver implementation:
44  virtual GCMClient::Result EnsureStarted() OVERRIDE;
45  virtual void RegisterImpl(
46      const std::string& app_id,
47      const std::vector<std::string>& sender_ids) OVERRIDE;
48  virtual void UnregisterImpl(const std::string& app_id) OVERRIDE;
49  virtual void SendImpl(const std::string& app_id,
50                        const std::string& receiver_id,
51                        const GCMClient::OutgoingMessage& message) OVERRIDE;
52
53 private:
54  DISALLOW_COPY_AND_ASSIGN(FakeGCMDriver);
55};
56
57}  // namespace gcm
58
59#endif  // COMPONENTS_GCM_DRIVER_FAKE_GCM_DRIVER_H_
60