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.
5 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_FAKE_SERVER_INVALIDATION_SERVICE_H_
6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_FAKE_SERVER_INVALIDATION_SERVICE_H_
11 #include "base/basictypes.h"
12 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
13 #include "components/invalidation/invalidation_service.h"
14 #include "google_apis/gaia/fake_identity_provider.h"
15 #include "sync/internal_api/public/base/model_type.h"
16 #include "sync/notifier/invalidator_registrar.h"
17 #include "sync/test/fake_server/fake_server.h"
23 namespace invalidation {
24 class InvalidationLogger;
27 namespace fake_server {
29 // An InvalidationService that is used in conjunction with FakeServer.
30 class FakeServerInvalidationService : public invalidation::InvalidationService,
31 public FakeServer::Observer {
33 FakeServerInvalidationService();
34 virtual ~FakeServerInvalidationService();
36 static KeyedService* Build(content::BrowserContext* context);
38 virtual void RegisterInvalidationHandler(
39 syncer::InvalidationHandler* handler) OVERRIDE;
40 virtual void UpdateRegisteredInvalidationIds(
41 syncer::InvalidationHandler* handler,
42 const syncer::ObjectIdSet& ids) OVERRIDE;
43 virtual void UnregisterInvalidationHandler(
44 syncer::InvalidationHandler* handler) OVERRIDE;
46 virtual syncer::InvalidatorState GetInvalidatorState() const OVERRIDE;
47 virtual std::string GetInvalidatorClientId() const OVERRIDE;
48 virtual invalidation::InvalidationLogger* GetInvalidationLogger() OVERRIDE;
49 virtual void RequestDetailedStatus(
50 base::Callback<void(const base::DictionaryValue&)> caller) const OVERRIDE;
51 virtual IdentityProvider* GetIdentityProvider() OVERRIDE;
53 // FakeServer::Observer:
54 virtual void OnCommit(syncer::ModelTypeSet committed_model_types) OVERRIDE;
57 std::string client_id_;
58 syncer::InvalidatorRegistrar invalidator_registrar_;
59 FakeProfileOAuth2TokenService token_service_;
60 FakeIdentityProvider identity_provider_;
62 DISALLOW_COPY_AND_ASSIGN(FakeServerInvalidationService);
65 } // namespace fake_server
67 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_FAKE_SERVER_INVALIDATION_SERVICE_H_