summaryrefslogtreecommitdiffstats
path: root/src/test/librbd/mock/io/MockObjectDispatcher.h
blob: 5e700397bb0a8939a2fab028e520550e7085273e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab

#ifndef CEPH_TEST_LIBRBD_MOCK_IO_OBJECT_DISPATCHER_H
#define CEPH_TEST_LIBRBD_MOCK_IO_OBJECT_DISPATCHER_H

#include "gmock/gmock.h"
#include "include/Context.h"
#include "librbd/io/ObjectDispatcher.h"
#include "librbd/io/ObjectDispatchSpec.h"
#include "librbd/io/Types.h"

class Context;

namespace librbd {
namespace io {

struct ObjectDispatchInterface;

struct MockObjectDispatcher : public ObjectDispatcherInterface {
public:
  MOCK_METHOD1(shut_down, void(Context*));

  MOCK_METHOD1(register_dispatch, void(ObjectDispatchInterface*));
  MOCK_METHOD1(exists, bool(ObjectDispatchLayer));
  MOCK_METHOD2(shut_down_dispatch, void(ObjectDispatchLayer, Context*));

  MOCK_METHOD2(flush, void(FlushSource, Context*));

  MOCK_METHOD1(invalidate_cache, void(Context*));
  MOCK_METHOD1(reset_existence_cache, void(Context*));

  MOCK_METHOD5(extent_overwritten, void(uint64_t, uint64_t, uint64_t, uint64_t,
                                        uint64_t));

  MOCK_METHOD2(prepare_copyup, int(uint64_t, SnapshotSparseBufferlist*));

  MOCK_METHOD1(send, void(ObjectDispatchSpec*));
};

} // namespace io
} // namespace librbd

#endif // CEPH_TEST_LIBRBD_MOCK_IO_OBJECT_DISPATCHER_H