X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Flibrbd%2Fobject_map%2Fmock%2FMockInvalidateRequest.h;fp=src%2Fceph%2Fsrc%2Ftest%2Flibrbd%2Fobject_map%2Fmock%2FMockInvalidateRequest.h;h=106745f9a8bc91ee27f62cd46e210260867b0081;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/src/test/librbd/object_map/mock/MockInvalidateRequest.h b/src/ceph/src/test/librbd/object_map/mock/MockInvalidateRequest.h new file mode 100644 index 0000000..106745f --- /dev/null +++ b/src/ceph/src/test/librbd/object_map/mock/MockInvalidateRequest.h @@ -0,0 +1,41 @@ +// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- +// vim: ts=8 sw=2 smarttab + +#include "librbd/object_map/InvalidateRequest.h" + +// template definitions +#include "librbd/object_map/InvalidateRequest.cc" + +namespace librbd { +namespace object_map { + +template +struct MockInvalidateRequestBase { + static std::list*> s_requests; + uint64_t snap_id; + bool force; + Context *on_finish; + + static InvalidateRequest* create(I &image_ctx, uint64_t snap_id, + bool force, Context *on_finish) { + assert(!s_requests.empty()); + InvalidateRequest* req = s_requests.front(); + req->snap_id = snap_id; + req->force = force; + req->on_finish = on_finish; + s_requests.pop_front(); + return req; + } + + MockInvalidateRequestBase() { + s_requests.push_back(static_cast*>(this)); + } + + MOCK_METHOD0(send, void()); +}; + +template +std::list*> MockInvalidateRequestBase::s_requests; + +} // namespace object_map +} // namespace librbd