+namespace {
+
+class FakeTiclSettingsProvider : public TiclSettingsProvider {
+ public:
+ FakeTiclSettingsProvider();
+ virtual ~FakeTiclSettingsProvider();
+
+ // TiclSettingsProvider:
+ virtual bool UseGCMChannel() const OVERRIDE;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(FakeTiclSettingsProvider);
+};
+
+class FakeGCMService : public gcm::GCMService {
+ public:
+ explicit FakeGCMService(OAuth2TokenService* token_service);
+ virtual ~FakeGCMService();
+
+ protected:
+ // gcm::GCMService:
+ virtual bool ShouldStartAutomatically() const OVERRIDE;
+ virtual base::FilePath GetStorePath() const OVERRIDE;
+ virtual scoped_refptr<net::URLRequestContextGetter>
+ GetURLRequestContextGetter() const OVERRIDE;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(FakeGCMService);
+};
+
+FakeTiclSettingsProvider::FakeTiclSettingsProvider() {
+}
+
+FakeTiclSettingsProvider::~FakeTiclSettingsProvider() {
+}
+
+bool FakeTiclSettingsProvider::UseGCMChannel() const {
+ return false;
+}
+
+FakeGCMService::FakeGCMService(OAuth2TokenService* token_service)
+ : GCMService(scoped_ptr<IdentityProvider>(
+ new FakeIdentityProvider(token_service))) {
+}
+
+FakeGCMService::~FakeGCMService() {
+}
+
+bool FakeGCMService::ShouldStartAutomatically() const {
+ return false;
+}
+
+base::FilePath FakeGCMService::GetStorePath() const {
+ return base::FilePath();
+}
+
+scoped_refptr<net::URLRequestContextGetter>
+FakeGCMService::GetURLRequestContextGetter() const {
+ return NULL;
+}
+
+} // namespace
+