diff options
Diffstat (limited to 'src/algo_base/algo_base.h')
-rw-r--r-- | src/algo_base/algo_base.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/algo_base/algo_base.h b/src/algo_base/algo_base.h new file mode 100644 index 000000000..9b41caf8b --- /dev/null +++ b/src/algo_base/algo_base.h @@ -0,0 +1,43 @@ +/* +* Symmetric Algorithm Base Class +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#ifndef BOTAN_ALGO_BASE_CLASS_H__ +#define BOTAN_ALGO_BASE_CLASS_H__ + +#include <botan/build.h> +#include <string> + +namespace Botan { + +/** +* This class represents a symmetric algorithm object. +*/ +class BOTAN_DLL Algorithm + { + public: + + /** + * Make a new object representing the same algorithm as *this + */ + virtual Algorithm* clone() const = 0; + + /** + * Zeroize internal state + */ + virtual void clear() = 0; + + /** + * @return name of this algorithm + */ + virtual std::string name() const = 0; + + virtual ~Algorithm() {} + }; + +} + +#endif |