1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 * Ceph distributed storage system
6 * Copyright (C) 2015 Mirantis, Inc.
8 * Author: Alyona Kiseleva <akiselyova@mirantis.com>
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.
18 #ifndef COMPRESSION_PLUGIN_H
19 #define COMPRESSION_PLUGIN_H
24 #include "common/PluginRegistry.h"
25 #include "Compressor.h"
29 class CompressionPlugin : public Plugin {
31 CompressorRef compressor;
33 explicit CompressionPlugin(CephContext *cct) : Plugin(cct),
37 ~CompressionPlugin() override {}
39 virtual int factory(CompressorRef *cs,
40 std::ostream *ss) = 0;
42 virtual const char* name() {return "CompressionPlugin";}