aboutsummaryrefslogtreecommitdiffstats
path: root/src/algo_factory/algo_factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/algo_factory/algo_factory.h')
-rw-r--r--src/algo_factory/algo_factory.h24
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;
};
}