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.
4
5#ifndef CHROME_BROWSER_SYNC_GLUE_INVALIDATION_ADAPTER_H_
6#define CHROME_BROWSER_SYNC_GLUE_INVALIDATION_ADAPTER_H_
7
8#include "components/invalidation/invalidation.h"
9#include "sync/internal_api/public/base/invalidation_interface.h"
10
11namespace browser_sync {
12
13// Wraps a syncer::Invalidation in the syncer::InvalidationInterface.
14class InvalidationAdapter : public syncer::InvalidationInterface {
15 public:
16  explicit InvalidationAdapter(const syncer::Invalidation& invalidation);
17  virtual ~InvalidationAdapter();
18
19  // Implementation of InvalidationInterface.
20  virtual bool IsUnknownVersion() const OVERRIDE;
21  virtual const std::string& GetPayload() const OVERRIDE;
22  virtual int64 GetVersion() const OVERRIDE;
23  virtual void Acknowledge() OVERRIDE;
24  virtual void Drop() OVERRIDE;
25
26 private:
27  syncer::Invalidation invalidation_;
28};
29
30}  // namespace browser_sync
31
32#endif  // CHROME_BROWSER_SYNC_GLUE_INVALIDATION_ADAPTER_H_
33