1// Copyright 2013 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 SYNC_SESSIONS_MOCK_DEBUG_INFO_GETTER_H_
6#define SYNC_SESSIONS_MOCK_DEBUG_INFO_GETTER_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "sync/base/sync_export.h"
11#include "sync/protocol/sync.pb.h"
12#include "sync/sessions/debug_info_getter.h"
13
14namespace syncer {
15namespace sessions {
16
17// A mock implementation of DebugInfoGetter to be used in tests. Events added by
18// AddDebugEvent are accessible via DebugInfoGetter methods.
19class MockDebugInfoGetter : public sessions::DebugInfoGetter {
20 public:
21  MockDebugInfoGetter();
22  virtual ~MockDebugInfoGetter();
23
24  // DebugInfoGetter implementation.
25  virtual void GetDebugInfo(sync_pb::DebugInfo* debug_info) OVERRIDE;
26  virtual void ClearDebugInfo() OVERRIDE;
27
28  void AddDebugEvent();
29
30 private:
31  sync_pb::DebugInfo debug_info_;
32
33  DISALLOW_COPY_AND_ASSIGN(MockDebugInfoGetter);
34};
35
36}  // namespace sessions
37}  // namespace syncer
38
39#endif  // SYNC_SESSIONS_MOCK_DEBUG_INFO_GETTER_H_
40