]> git.proxmox.com Git - ceph.git/blob - ceph/src/librbd/LibrbdAdminSocketHook.h
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / librbd / LibrbdAdminSocketHook.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3 #ifndef CEPH_LIBRBD_LIBRBDADMINSOCKETHOOK_H
4 #define CEPH_LIBRBD_LIBRBDADMINSOCKETHOOK_H
5
6 #include <map>
7
8 #include "common/admin_socket.h"
9
10 namespace librbd {
11
12 struct ImageCtx;
13 class LibrbdAdminSocketCommand;
14
15 class LibrbdAdminSocketHook : public AdminSocketHook {
16 public:
17 LibrbdAdminSocketHook(ImageCtx *ictx);
18 ~LibrbdAdminSocketHook() override;
19
20 bool call(std::string command, cmdmap_t& cmdmap, std::string format,
21 bufferlist& out) override;
22
23 private:
24 typedef std::map<std::string,LibrbdAdminSocketCommand*> Commands;
25
26 AdminSocket *admin_socket;
27 Commands commands;
28 };
29 }
30
31 #endif