OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/callback_forward.h" | 5 #include "base/callback_forward.h" |
6 #include "base/memory/ref_counted.h" | 6 #include "base/memory/ref_counted.h" |
7 #include "base/threading/non_thread_safe.h" | 7 #include "base/threading/non_thread_safe.h" |
8 #include "components/invalidation/invalidation_service.h" | 8 #include "components/invalidation/invalidation_service.h" |
9 #include "components/invalidation/p2p_invalidator.h" | 9 #include "components/invalidation/p2p_invalidator.h" |
10 #include "components/keyed_service/core/keyed_service.h" | 10 #include "components/keyed_service/core/keyed_service.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 // This service is a wrapper around P2PInvalidator. Unlike other | 27 // This service is a wrapper around P2PInvalidator. Unlike other |
28 // InvalidationServices, it can both send and receive invalidations. It is used | 28 // InvalidationServices, it can both send and receive invalidations. It is used |
29 // only in tests, where we're unable to connect to a real invalidations server. | 29 // only in tests, where we're unable to connect to a real invalidations server. |
30 class P2PInvalidationService : public base::NonThreadSafe, | 30 class P2PInvalidationService : public base::NonThreadSafe, |
31 public InvalidationService { | 31 public InvalidationService { |
32 public: | 32 public: |
33 P2PInvalidationService( | 33 P2PInvalidationService( |
34 scoped_ptr<IdentityProvider> identity_provider, | 34 scoped_ptr<IdentityProvider> identity_provider, |
35 const scoped_refptr<net::URLRequestContextGetter>& request_context, | 35 const scoped_refptr<net::URLRequestContextGetter>& request_context, |
36 syncer::P2PNotificationTarget notification_target); | 36 syncer::P2PNotificationTarget notification_target); |
37 virtual ~P2PInvalidationService(); | 37 ~P2PInvalidationService() override; |
38 | 38 |
39 // InvalidationService implementation. | 39 // InvalidationService implementation. |
40 // It is an error to have registered handlers when the service is destroyed. | 40 // It is an error to have registered handlers when the service is destroyed. |
41 virtual void RegisterInvalidationHandler( | 41 void RegisterInvalidationHandler( |
42 syncer::InvalidationHandler* handler) override; | 42 syncer::InvalidationHandler* handler) override; |
43 virtual void UpdateRegisteredInvalidationIds( | 43 void UpdateRegisteredInvalidationIds(syncer::InvalidationHandler* handler, |
44 syncer::InvalidationHandler* handler, | 44 const syncer::ObjectIdSet& ids) override; |
45 const syncer::ObjectIdSet& ids) override; | 45 void UnregisterInvalidationHandler( |
46 virtual void UnregisterInvalidationHandler( | |
47 syncer::InvalidationHandler* handler) override; | 46 syncer::InvalidationHandler* handler) override; |
48 virtual syncer::InvalidatorState GetInvalidatorState() const override; | 47 syncer::InvalidatorState GetInvalidatorState() const override; |
49 virtual std::string GetInvalidatorClientId() const override; | 48 std::string GetInvalidatorClientId() const override; |
50 virtual InvalidationLogger* GetInvalidationLogger() override; | 49 InvalidationLogger* GetInvalidationLogger() override; |
51 virtual void RequestDetailedStatus( | 50 void RequestDetailedStatus( |
52 base::Callback<void(const base::DictionaryValue&)> caller) const override; | 51 base::Callback<void(const base::DictionaryValue&)> caller) const override; |
53 virtual IdentityProvider* GetIdentityProvider() override; | 52 IdentityProvider* GetIdentityProvider() override; |
54 | 53 |
55 void UpdateCredentials(const std::string& username, | 54 void UpdateCredentials(const std::string& username, |
56 const std::string& password); | 55 const std::string& password); |
57 | 56 |
58 void SendInvalidation(const syncer::ObjectIdSet& ids); | 57 void SendInvalidation(const syncer::ObjectIdSet& ids); |
59 | 58 |
60 private: | 59 private: |
61 scoped_ptr<IdentityProvider> identity_provider_; | 60 scoped_ptr<IdentityProvider> identity_provider_; |
62 scoped_ptr<syncer::P2PInvalidator> invalidator_; | 61 scoped_ptr<syncer::P2PInvalidator> invalidator_; |
63 std::string invalidator_id_; | 62 std::string invalidator_id_; |
64 | 63 |
65 DISALLOW_COPY_AND_ASSIGN(P2PInvalidationService); | 64 DISALLOW_COPY_AND_ASSIGN(P2PInvalidationService); |
66 }; | 65 }; |
67 | 66 |
68 } // namespace invalidation | 67 } // namespace invalidation |
69 | 68 |
70 #endif // COMPONENTS_INVALIDATION_P2P_INVALIDATION_SERVICE_H_ | 69 #endif // COMPONENTS_INVALIDATION_P2P_INVALIDATION_SERVICE_H_ |
OLD | NEW |