4#include <unordered_map>
5#include <unordered_set>
7#include <iolink/Logger.h>
9#include <ioformat/plugin/PluginVersion.h>
23 using StringSet = std::unordered_set<std::string>;
24 using StringMap = std::unordered_map<std::string, std::string>;
34 virtual inline uint64_t
api()
const = 0;
39 virtual const std::string&
name()
const = 0;
49 virtual void initLog(iolink::LogLevel level) = 0;
53# define IOFORMAT_PLUGIN_API __declspec(dllexport)
55# define IOFORMAT_PLUGIN_API __attribute__((visibility("default")))
64#define IOFORMAT_DECLARE_PLUGIN(PLUGIN_CLASS, PLUGIN_SYMBOL) \
65 extern "C" IOFORMAT_PLUGIN_API PLUGIN_CLASS PLUGIN_SYMBOL; \
66 PLUGIN_CLASS PLUGIN_SYMBOL;