Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / components / gcm_driver / fake_gcm_driver.h
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
12 namespace gcm {
13
14 class FakeGCMDriver : public GCMDriver {
15  public:
16   FakeGCMDriver();
17   ~FakeGCMDriver() override;
18
19   // GCMDriver overrides:
20   void Shutdown() override;
21   void AddAppHandler(const std::string& app_id,
22                      GCMAppHandler* handler) override;
23   void RemoveAppHandler(const std::string& app_id) override;
24   void OnSignedIn() override;
25   void OnSignedOut() override;
26   void Purge() override;
27   void AddConnectionObserver(GCMConnectionObserver* observer) override;
28   void RemoveConnectionObserver(GCMConnectionObserver* observer) override;
29   void Enable() override;
30   void Disable() override;
31   GCMClient* GetGCMClientForTesting() const override;
32   bool IsStarted() const override;
33   bool IsConnected() const override;
34   void GetGCMStatistics(const GetGCMStatisticsCallback& callback,
35                         bool clear_logs) override;
36   void SetGCMRecording(const GetGCMStatisticsCallback& callback,
37                        bool recording) override;
38   void SetAccountTokens(
39       const std::vector<GCMClient::AccountTokenInfo>& account_tokens) override;
40   void UpdateAccountMapping(const AccountMapping& account_mapping) override;
41   void RemoveAccountMapping(const std::string& account_id) override;
42   base::Time GetLastTokenFetchTime() override;
43   void SetLastTokenFetchTime(const base::Time& time) override;
44
45  protected:
46   // GCMDriver implementation:
47   GCMClient::Result EnsureStarted() override;
48   void RegisterImpl(const std::string& app_id,
49                     const std::vector<std::string>& sender_ids) override;
50   void UnregisterImpl(const std::string& app_id) override;
51   void SendImpl(const std::string& app_id,
52                 const std::string& receiver_id,
53                 const GCMClient::OutgoingMessage& message) override;
54
55  private:
56   DISALLOW_COPY_AND_ASSIGN(FakeGCMDriver);
57 };
58
59 }  // namespace gcm
60
61 #endif  // COMPONENTS_GCM_DRIVER_FAKE_GCM_DRIVER_H_