1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "sync/test/trackable_mock_invalidation.h"
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "sync/test/mock_invalidation_tracker.h"
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace syncer {
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
11116680a4aac90f2aa7413d9095a592090648e557Ben MurdochTrackableMockInvalidation::TrackableMockInvalidation(
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    bool is_unknown_version,
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    int64 version,
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    const std::string& payload,
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    MockInvalidationTracker* tracker,
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    int tracking_id)
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    : MockInvalidation(is_unknown_version, version, payload),
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      tracker_(tracker),
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      tracking_id_(tracking_id) {
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
22116680a4aac90f2aa7413d9095a592090648e557Ben MurdochTrackableMockInvalidation::~TrackableMockInvalidation() {
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid TrackableMockInvalidation::Acknowledge() {
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  if (tracker_) {
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    tracker_->Acknowledge(tracking_id_);
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  }
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid TrackableMockInvalidation::Drop() {
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  if (tracker_) {
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    tracker_->Drop(tracking_id_);
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  }
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdochint TrackableMockInvalidation::GetTrackingId() {
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  return tracking_id_;
39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace syncer
42