]> git.proxmox.com Git - ceph.git/blob - ceph/src/compressor/CompressionPlugin.h
update sources to v12.1.0
[ceph.git] / ceph / src / compressor / CompressionPlugin.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3 /*
4 * Ceph distributed storage system
5 *
6 * Copyright (C) 2015 Mirantis, Inc.
7 *
8 * Author: Alyona Kiseleva <akiselyova@mirantis.com>
9 *
10 *
11 * This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
14 * version 2.1 of the License, or (at your option) any later version.
15 *
16 */
17
18 #ifndef COMPRESSION_PLUGIN_H
19 #define COMPRESSION_PLUGIN_H
20
21 #include <iosfwd>
22 #include <iostream>
23
24 #include "common/PluginRegistry.h"
25 #include "Compressor.h"
26
27 namespace ceph {
28
29 class CompressionPlugin : public Plugin {
30 public:
31 CompressorRef compressor;
32
33 explicit CompressionPlugin(CephContext *cct) : Plugin(cct),
34 compressor(0)
35 {}
36
37 ~CompressionPlugin() override {}
38
39 virtual int factory(CompressorRef *cs,
40 std::ostream *ss) = 0;
41
42 virtual const char* name() {return "CompressionPlugin";}
43 };
44
45 }
46
47 #endif