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 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 25 // GCMDriver implementation: 26 virtual void OnSignedIn() OVERRIDE; 27 virtual void Purge() OVERRIDE; 28 virtual void Enable() OVERRIDE; 29 virtual void Disable() OVERRIDE; 30 virtual GCMClient* GetGCMClientForTesting() const OVERRIDE; 31 virtual bool IsStarted() const OVERRIDE; 32 virtual bool IsConnected() const OVERRIDE; 33 virtual void GetGCMStatistics(const GetGCMStatisticsCallback& callback, 34 bool clear_logs) OVERRIDE; 35 virtual void SetGCMRecording(const GetGCMStatisticsCallback& callback, 36 bool recording) OVERRIDE; 37 38 protected: 39 // GCMDriver implementation: 40 virtual GCMClient::Result EnsureStarted() OVERRIDE; 41 virtual void RegisterImpl( 42 const std::string& app_id, 43 const std::vector<std::string>& sender_ids) OVERRIDE; 44 virtual void UnregisterImpl(const std::string& app_id) OVERRIDE; 45 virtual void SendImpl(const std::string& app_id, 46 const std::string& receiver_id, 47 const GCMClient::OutgoingMessage& message) OVERRIDE; 48 49 private: 50 DISALLOW_COPY_AND_ASSIGN(FakeGCMDriver); 51 }; 52 53 } // namespace gcm 54 55 #endif // COMPONENTS_GCM_DRIVER_FAKE_GCM_DRIVER_H_ 56