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 13 namespace base { 14 class SequencedTaskRunner; 15 } 16 17 namespace gcm { 18 19 class GCMClient; 20 21 class 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