diff options
Diffstat (limited to 'src/algo_factory/algo_factory.h')
-rw-r--r-- | src/algo_factory/algo_factory.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/algo_factory/algo_factory.h b/src/algo_factory/algo_factory.h index 10549d5d3..b9f15757d 100644 --- a/src/algo_factory/algo_factory.h +++ b/src/algo_factory/algo_factory.h @@ -21,6 +21,7 @@ class BlockCipher; class StreamCipher; class HashFunction; class MessageAuthenticationCode; +class PBKDF; template<typename T> class Algorithm_Cache; @@ -161,6 +162,28 @@ class BOTAN_DLL Algorithm_Factory const std::string& provider); /** + * @param algo_spec the algorithm we want + * @param provider the provider we would like to use + * @returns pointer to const prototype object, ready to clone(), or NULL + */ + const PBKDF* prototype_pbkdf(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * @param algo_spec the algorithm we want + * @param provider the provider we would like to use + * @returns pointer to freshly created instance of the request algorithm + */ + PBKDF* make_pbkdf(const std::string& algo_spec, + const std::string& provider = ""); + + /** + * @param algo the algorithm to add + * @param provider the provider of this algorithm + */ + void add_pbkdf(PBKDF* algo, const std::string& provider); + + /** * An iterator for the engines in this factory * @deprecated Avoid in new code */ @@ -196,6 +219,7 @@ class BOTAN_DLL Algorithm_Factory Algorithm_Cache<StreamCipher>* stream_cipher_cache; Algorithm_Cache<HashFunction>* hash_cache; Algorithm_Cache<MessageAuthenticationCode>* mac_cache; + Algorithm_Cache<PBKDF>* pbkdf_cache; }; } |