Chromium Code Reviews| Index: chrome/browser/invalidation/fake_invalidation_service.h |
| diff --git a/chrome/browser/invalidation/fake_invalidation_service.h b/chrome/browser/invalidation/fake_invalidation_service.h |
| index 4b296ae3face0f8c52a963be9a79392a4472e534..b52b33bbf9151a2515b5133a0b06d71082f33db7 100644 |
| --- a/chrome/browser/invalidation/fake_invalidation_service.h |
| +++ b/chrome/browser/invalidation/fake_invalidation_service.h |
| @@ -5,6 +5,9 @@ |
| #ifndef CHROME_BROWSER_INVALIDATION_FAKE_INVALIDATION_SERVICE_H_ |
| #define CHROME_BROWSER_INVALIDATION_FAKE_INVALIDATION_SERVICE_H_ |
| +#include <list> |
| +#include <utility> |
| + |
| #include "base/basictypes.h" |
| #include "chrome/browser/invalidation/invalidation_service.h" |
| #include "sync/notifier/invalidator_registrar.h" |
| @@ -33,14 +36,33 @@ class FakeInvalidationService : public InvalidationService { |
| virtual syncer::InvalidatorState GetInvalidatorState() const OVERRIDE; |
| virtual std::string GetInvalidatorClientId() const OVERRIDE; |
| - void EmitInvalidationForTest( |
| + void SetInvalidatorState(syncer::InvalidatorState state); |
| + |
| + const syncer::InvalidatorRegistrar& invalidator_registrar() const { |
| + return invalidator_registrar_; |
| + } |
| + syncer::AckHandle EmitInvalidationForTest( |
| const invalidation::ObjectId& object_id, |
| int64 version, |
| const std::string& payload); |
| + // Determines if the given AckHandle has been acknowledged. |
| + bool IsInvalidationAcknowledged(const syncer::AckHandle& ack_handle) const; |
| + |
| + // Determines if AcknowledgeInvalidation was ever called with an invalid |
| + // ObjectId/AckHandle pair. |
| + bool ReceivedInvalidAcknowledgement() { |
| + return received_invalid_acknowledgement_; |
| + } |
| + |
| private: |
| std::string client_id_; |
| syncer::InvalidatorRegistrar invalidator_registrar_; |
| + typedef std::list<std::pair<syncer::AckHandle, invalidation::ObjectId> > |
| + AckHandleList; |
| + AckHandleList unacknowledged_handles_; |
|
rlarocque
2013/07/25 19:23:40
The way ack tracking currently works is that it on
Steve Condie
2013/07/26 01:39:25
As we discussed, clients are not required to ackno
|
| + AckHandleList acknowledged_handles_; |
| + bool received_invalid_acknowledgement_; |
| DISALLOW_COPY_AND_ASSIGN(FakeInvalidationService); |
| }; |