1// Copyright (c) 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_GCM_CLIENT_FACTORY_H_
6#define COMPONENTS_GCM_DRIVER_GCM_CLIENT_FACTORY_H_
7
8#include "base/macros.h"
9#include "base/memory/scoped_ptr.h"
10
11namespace gcm {
12
13class GCMClient;
14
15class GCMClientFactory {
16 public:
17  GCMClientFactory();
18  virtual ~GCMClientFactory();
19
20  // Creates a new instance of GCMClient. The testing code could override this
21  // to provide a mocked instance.
22  virtual scoped_ptr<GCMClient> BuildInstance();
23
24 private:
25  DISALLOW_COPY_AND_ASSIGN(GCMClientFactory);
26};
27
28}  // namespace gcm
29
30#endif  // COMPONENTS_GCM_DRIVER_GCM_CLIENT_FACTORY_H_
31