8 #ifndef BOTAN_LIB_STATE_H__     9 #define BOTAN_LIB_STATE_H__    11 #include <botan/global_state.h>    12 #include <botan/allocate.h>    13 #include <botan/algo_factory.h>    14 #include <botan/rng.h>    36       void initialize(
bool thread_safe);
    52       Allocator* get_allocator(
const std::string& name = 
"") 
const;
    64       void set_default_allocator(
const std::string& name);
    72       std::string 
get(
const std::string& section,
    73                       const std::string& key) 
const;
    82       bool is_set(
const std::string& section,
    83                   const std::string& key) 
const;
    94       void set(
const std::string& section,
    95                const std::string& key,
    96                const std::string& value,
    97                bool overwrite = 
true);
   104       void add_alias(
const std::string& key,
   105                      const std::string& value);
   112       std::string deref_alias(
const std::string& alias) 
const;
   117       Mutex* get_mutex() 
const;
   122       void load_default_config();
   129       Mutex* global_rng_lock;
   133       std::map<std::string, std::string> config;
   135       Mutex* allocator_lock;
   136       std::string default_allocator_name;
   137       std::map<std::string, Allocator*> alloc_factory;
   138       mutable Allocator* cached_default_allocator;
   139       std::vector<Allocator*> allocators;