////////////////////////////////////////////////////////////////////////////////// // Name: actBlockCipherReg.h // Product: cv act library // Purpose: registry for factory functions in actBlockCipherKit.h // // Copyright: (c) 2000 cv cryptovision GmbH // all rights reserved // Licence: The conditions for the use of this software are regulated // in the cv act library licence agreement. ////////////////////////////////////////////////////////////////////////////////// #ifndef ACT_BlockCipherReg_h #define ACT_BlockCipherReg_h namespace act { class IBlockCipher; typedef IBlockCipher* (*CreateBlockCipherPtr)(); struct BlockCipherMapEntry { const char* Name; CreateBlockCipherPtr CreatePtr; }; class BlockCipherReg { public: static IBlockCipher* CreateBlockCipher(const char* name); static CreateBlockCipherPtr GetCreatePointer(const char* name); static const char* GetName(void* createptr); static const char* GetNextName(const char* name); static void Insert(const char* name,CreateBlockCipherPtr createptr); static void Insert(const BlockCipherMapEntry* map); }; } #endif