1 // Copyright (c) 2012 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 SYNC_NOTIFIER_FAKE_INVALIDATION_STATE_TRACKER_H_
6 #define SYNC_NOTIFIER_FAKE_INVALIDATION_STATE_TRACKER_H_
8 #include "base/memory/weak_ptr.h"
9 #include "sync/notifier/invalidation_state_tracker.h"
13 // InvalidationStateTracker implementation that simply keeps track of
14 // the max versions and invalidation state in memory.
15 class FakeInvalidationStateTracker
16 : public InvalidationStateTracker
,
17 public base::SupportsWeakPtr
<FakeInvalidationStateTracker
> {
19 FakeInvalidationStateTracker();
20 virtual ~FakeInvalidationStateTracker();
22 int64
GetMaxVersion(const invalidation::ObjectId
& id
) const;
24 // InvalidationStateTracker implementation.
25 virtual InvalidationStateMap
GetAllInvalidationStates() const OVERRIDE
;
26 virtual void SetMaxVersionAndPayload(const invalidation::ObjectId
& id
,
28 const std::string
& payload
) OVERRIDE
;
29 virtual void Forget(const ObjectIdSet
& ids
) OVERRIDE
;
30 virtual void SetInvalidatorClientId(const std::string
& client_id
) OVERRIDE
;
31 virtual std::string
GetInvalidatorClientId() const OVERRIDE
;
32 virtual void SetBootstrapData(const std::string
& data
) OVERRIDE
;
33 virtual std::string
GetBootstrapData() const OVERRIDE
;
34 virtual void Clear() OVERRIDE
;
35 virtual void GenerateAckHandles(
36 const ObjectIdSet
& ids
,
37 const scoped_refptr
<base::TaskRunner
>& task_runner
,
38 base::Callback
<void(const AckHandleMap
&)> callback
) OVERRIDE
;
39 virtual void Acknowledge(const invalidation::ObjectId
& id
,
40 const AckHandle
& ack_handle
) OVERRIDE
;
42 static const int64 kMinVersion
;
45 InvalidationStateMap state_map_
;
46 std::string invalidator_client_id_
;
47 std::string bootstrap_data_
;
52 #endif // SYNC_NOTIFIER_FAKE_INVALIDATION_STATE_TRACKER_H_