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