#pragma once
#include <atomic>
#include <nlohmann/json.hpp>
#include <string>
using json = nlohmann::json;
class ICollector {
public:
virtual ~ICollector() = default;
virtual std::string get_id() const {
return pluginName_ ? pluginName_ : "unknown";
}
virtual bool start(const json ¶ms, int duration) = 0;
virtual void stop() = 0;
protected:
std::atomic<bool> active_{false};
const char *pluginName_;
};