Files

23 lines
541 B
C
Raw Permalink Normal View History

#pragma once
#include "whetstone_rsa/types.h"
#include <memory>
#include <string>
namespace whetstone::rsa {
class Probe {
public:
virtual ~Probe() = default;
[[nodiscard]] virtual std::string id() const = 0;
[[nodiscard]] virtual bool supports(const GateDefinition& gate_definition,
const GateEvidence& evidence) const = 0;
[[nodiscard]] virtual ProbeResult run(const ProbeRequest& request) const = 0;
};
using ProbePtr = std::shared_ptr<Probe>;
} // namespace whetstone::rsa