1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef RBD_MIRROR_IMAGE_REPLAYER_CLOSE_IMAGE_REQUEST_H
5 #define RBD_MIRROR_IMAGE_REPLAYER_CLOSE_IMAGE_REQUEST_H
7 #include "include/int_types.h"
8 #include "librbd/ImageCtx.h"
12 namespace librbd { class ImageCtx; }
16 namespace image_replayer {
18 template <typename ImageCtxT = librbd::ImageCtx>
19 class CloseImageRequest {
21 static CloseImageRequest* create(ImageCtxT **image_ctx, Context *on_finish) {
22 return new CloseImageRequest(image_ctx, on_finish);
25 CloseImageRequest(ImageCtxT **image_ctx, Context *on_finish);
43 ImageCtxT **m_image_ctx;
47 void handle_close_image(int r);
50 } // namespace image_replayer
54 extern template class rbd::mirror::image_replayer::CloseImageRequest<librbd::ImageCtx>;
56 #endif // RBD_MIRROR_IMAGE_REPLAYER_CLOSE_IMAGE_REQUEST_H