diff options
author | lloyd <[email protected]> | 2010-03-21 23:30:14 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-03-21 23:30:14 +0000 |
commit | f8a77dd91e8b3aed644c2c206ff9b8822fb3ae02 (patch) | |
tree | 315cbc118a8ba2afda674154e7c65e8900a00cb8 /src/libstate/libstate.h | |
parent | 572c106e868821da13447ca7349523ef4a90ec2c (diff) | |
parent | 634f3d27f7faad1dc558821382f71ecc2194637d (diff) |
propagate from branch 'net.randombit.botan' (head 96d0a1885774b624812fd143d541c8bcda319217)
to branch 'net.randombit.botan.c++0x' (head e14368ab9d7976f3e111c6bc0adf24eebeb7c114)
Diffstat (limited to 'src/libstate/libstate.h')
-rw-r--r-- | src/libstate/libstate.h | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/src/libstate/libstate.h b/src/libstate/libstate.h index 4674eca88..295fa1fa4 100644 --- a/src/libstate/libstate.h +++ b/src/libstate/libstate.h @@ -12,14 +12,13 @@ #include <botan/algo_factory.h> #include <botan/rng.h> +#include <mutex> #include <string> #include <vector> #include <map> namespace Botan { -class Mutex; - /* * Global State Container Base */ @@ -29,7 +28,10 @@ class BOTAN_DLL Library_State Library_State(); ~Library_State(); - void initialize(bool thread_safe); + Library_State(const Library_State&) = delete; + Library_State& operator=(const Library_State&) = delete; + + void initialize(); /** * @return the global Algorithm_Factory @@ -45,7 +47,7 @@ class BOTAN_DLL Library_State * @param name the name of the allocator * @return allocator matching this name, or NULL */ - Allocator* get_allocator(const std::string& name = "") const; + Allocator* get_allocator(const std::string& name = ""); /** * Add a new allocator to the list of available ones @@ -66,7 +68,7 @@ class BOTAN_DLL Library_State * @result the value of the parameter */ std::string get(const std::string& section, - const std::string& key) const; + const std::string& key); /** * Check whether a certain parameter is set @@ -77,7 +79,7 @@ class BOTAN_DLL Library_State * false otherwise */ bool is_set(const std::string& section, - const std::string& key) const; + const std::string& key); /** * Set a configuration parameter. @@ -105,30 +107,20 @@ class BOTAN_DLL Library_State * @param alias the alias to resolve. * @return what the alias stands for */ - std::string deref_alias(const std::string& alias) const; - - /** - * @return a newly created Mutex (free with delete) - */ - Mutex* get_mutex() const; + std::string deref_alias(const std::string&); private: static RandomNumberGenerator* make_global_rng(Algorithm_Factory& af, Mutex* mutex); void load_default_config(); - Library_State(const Library_State&) {} - Library_State& operator=(const Library_State&) { return (*this); } - - class Mutex_Factory* mutex_factory; - - Mutex* global_rng_lock; + std::mutex global_rng_lock; RandomNumberGenerator* global_rng_ptr; - Mutex* config_lock; + std::mutex config_lock; std::map<std::string, std::string> config; - Mutex* allocator_lock; + std::mutex allocator_lock; std::string default_allocator_name; std::map<std::string, Allocator*> alloc_factory; mutable Allocator* cached_default_allocator; |