Files
surfer/actlibrary/include/actIKeyFactory.h
2010-10-29 10:54:12 +00:00

49 lines
1.3 KiB
C++

// ---------------------------------------------------------------------------
// Name: actIKeyFactory.h
// Product: cv act library
// Purpose: IKeyFactory and IKeyFactoryChain interface
//
// Copyright: (c) 2008 cv cryptovision GmbH
// all rights reserved
// Licence: The conditions for the use of this software are regulated
// in the cv act library licence agreement.
//
// Autor: Markus Tesche
// Date: 05/18/2008
// ---------------------------------------------------------------------------
#ifndef ACT_IKeyFactory_h
#define ACT_IKeyFactory_h
#include "actTokenBase.h"
namespace act
{
class ITokenKey;
class ITokenBlockCipher;
class ITokenBlockCipherKey;
class IKeyFactory
{
protected:
virtual ~IKeyFactory()
{ }
public:
virtual ITokenKey* CreateKey(int type, FileInfo& fi, int usage, bool cleartoken) = 0;
virtual ITokenBlockCipher* CreateBlockCipher(FileInfo& fi) = 0;
virtual ITokenBlockCipherKey* CreateBlockCipherKey(ITokenBlockCipher* cipher, bool cleartoken) = 0;
virtual ITokenBlockCipherKey* CreateBlockCipherAndKey(FileInfo& fi, bool cleartoken) = 0;
};
class IKeyFactoryChain : public IKeyFactory
{
public:
virtual void SetNext(IKeyFactoryChain* next) = 0;
};
} // namespace act
#endif // ACT_IKeyFactory_h