Home | History | Annotate | Download | only in gcm_driver
      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