📄 encoderimplfactory.h
字号:
/*!
\file EncoderImplFactory.h
\author Jackson
\date 13/1/2005
*/
#ifndef _LUCID_ENCRYPTION_ENCODERIMPLFACTORY_H_
#define _LUCID_ENCRYPTION_ENCODERIMPLFACTORY_H_
#include "ShareLib.h"
#include "EncodeAlgorithm.h"
namespace Lucid {
namespace Encryption {
class TEncoderImplBase;
class TDigestImplBase;
//! \class TEncoderImplFactory
/*!
\brief Factory class create encoder implementation
*/
class TEncoderImplFactory {
public:
/*!
\brief get encoder implementation factory singleton
*/
static TEncoderImplFactory& GetSingleton() {
static TEncoderImplFactory factory;
return factory;
}
/*!
\brief create encoder implementation
\param key key for encryption
\param key_length length of key
\param iv initial vector encryption
\param iv_length length of initial vector
\param algorithm encode algorithm used
*/
TEncoderImplBase* CreateEncoderImpl(const unsigned char* key, unsigned int key_length, const unsigned char* iv = 0, unsigned int iv_length = 0, TEncodeAlgorithm algorithm = NO_ENCODE);
TDigestImplBase* CreateDigestImpl(THashAlgorithm algorithm = NO_DIGEST);
private:
TEncoderImplFactory() {}
TEncoderImplFactory(const TEncoderImplFactory&);
TEncoderImplFactory& operator=(const TEncoderImplFactory&);
~TEncoderImplFactory() {}
};
#define ENCODER_IMPL_FACTORY TEncoderImplFactory::GetSingleton()
}
}
#endif // _LUCID_ENCRYPTION_ENCODERIMPLFACTORY_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -