8#ifndef BOTAN_ENTROPY_H_
9#define BOTAN_ENTROPY_H_
12#include <botan/secmem.h>
20class RandomNumberGenerator;
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);
61 std::vector<std::string> enabled_sources()
const;
78 std::vector<std::unique_ptr<Entropy_Source>> m_srcs;
virtual std::string name() const =0
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
Entropy_Sources(Entropy_Sources &&other)=delete
Entropy_Sources()=default
Entropy_Sources(const Entropy_Sources &other)=delete
Entropy_Sources & operator=(const Entropy_Sources &other)=delete
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)