8#ifndef BOTAN_ENTROPY_H_
9#define BOTAN_ENTROPY_H_
33 static std::unique_ptr<Entropy_Source>
create(std::string_view type);
38 virtual std::string
name()
const = 0;
59 void add_source(std::unique_ptr<Entropy_Source> src);
89 std::vector<std::unique_ptr<Entropy_Source>> m_srcs;
#define BOTAN_PUBLIC_API(maj, min)
virtual std::string name() const =0
static std::unique_ptr< Entropy_Source > create(std::string_view type)
Entropy_Source(const Entropy_Source &other)=delete
virtual size_t poll(RandomNumberGenerator &rng)=0
Entropy_Source(Entropy_Source &&other)=delete
virtual ~Entropy_Source()=default
Entropy_Source & operator=(const Entropy_Source &other)=delete
static Entropy_Sources & global_sources()
size_t poll_just(RandomNumberGenerator &rng, std::string_view src)
Entropy_Sources(Entropy_Sources &&other)=delete
void add_source(std::unique_ptr< Entropy_Source > src)
Entropy_Sources()=default
size_t poll(RandomNumberGenerator &rng, size_t bits, std::chrono::milliseconds timeout)
Entropy_Sources(const Entropy_Sources &other)=delete
Entropy_Sources & operator=(const Entropy_Sources &other)=delete
std::vector< std::string > enabled_sources() const