]> git.proxmox.com Git - ceph.git/blame - ceph/src/librbd/LibrbdAdminSocketHook.h
import ceph 15.2.10
[ceph.git] / ceph / src / librbd / LibrbdAdminSocketHook.h
CommitLineData
7c673cae
FG
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
10namespace librbd {
11
12 struct ImageCtx;
13 class LibrbdAdminSocketCommand;
14
15 class LibrbdAdminSocketHook : public AdminSocketHook {
16 public:
17 LibrbdAdminSocketHook(ImageCtx *ictx);
18 ~LibrbdAdminSocketHook() override;
19
9f95a23c
TL
20 int call(std::string_view command, const cmdmap_t& cmdmap,
21 Formatter *f,
22 std::ostream& errss,
23 bufferlist& out) override;
7c673cae
FG
24
25 private:
11fdf7f2
TL
26 typedef std::map<std::string,LibrbdAdminSocketCommand*,
27 std::less<>> Commands;
7c673cae
FG
28
29 AdminSocket *admin_socket;
30 Commands commands;
31 };
32}
33
34#endif