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 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