8#ifndef BOTAN_ENTROPY_H_
9#define BOTAN_ENTROPY_H_
11#include <botan/secmem.h>
20class RandomNumberGenerator;
34 static std::unique_ptr<Entropy_Source> create(
const std::string&
type);
39 virtual std::string
name()
const = 0;
61 void add_source(std::unique_ptr<Entropy_Source> src);
63 std::vector<std::string> enabled_sources()
const;
67 std::chrono::milliseconds timeout);
82 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)