fake_gcm_client_factory.h revision cedac228d2dd51db4b79ea1e72c7f249408ee061
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_CLIENT_FACTORY_H_ 6#define COMPONENTS_GCM_DRIVER_FAKE_GCM_CLIENT_FACTORY_H_ 7 8#include "base/compiler_specific.h" 9#include "base/macros.h" 10#include "components/gcm_driver/fake_gcm_client.h" 11#include "components/gcm_driver/gcm_client_factory.h" 12 13namespace base { 14class SequencedTaskRunner; 15} 16 17namespace gcm { 18 19class GCMClient; 20 21class FakeGCMClientFactory : public GCMClientFactory { 22 public: 23 FakeGCMClientFactory( 24 FakeGCMClient::StartMode gcm_client_start_mode, 25 const scoped_refptr<base::SequencedTaskRunner>& ui_thread, 26 const scoped_refptr<base::SequencedTaskRunner>& io_thread); 27 virtual ~FakeGCMClientFactory(); 28 29 // GCMClientFactory: 30 virtual scoped_ptr<GCMClient> BuildInstance() OVERRIDE; 31 32 private: 33 FakeGCMClient::StartMode gcm_client_start_mode_; 34 scoped_refptr<base::SequencedTaskRunner> ui_thread_; 35 scoped_refptr<base::SequencedTaskRunner> io_thread_; 36 37 DISALLOW_COPY_AND_ASSIGN(FakeGCMClientFactory); 38}; 39 40} // namespace gcm 41 42#endif // COMPONENTS_GCM_DRIVER_FAKE_GCM_CLIENT_FACTORY_H_ 43