Removed remaining dummy parameters for VC6.0 workarounds (Issue 342)

pull/351/head
Jeffrey Walton 2016-12-17 22:44:22 -05:00
parent 7c73f25f12
commit 86b89cd18b
No known key found for this signature in database
GPG Key ID: B36AB348921B1838
2 changed files with 57 additions and 25 deletions

View File

@ -1,5 +1,8 @@
// factory.h - written and placed in the public domain by Wei Dai
//! \file factory.h
//! \brief Classes and functions for registering and locating library objects
#ifndef CRYPTOPP_OBJFACT_H
#define CRYPTOPP_OBJFACT_H
@ -9,7 +12,9 @@
NAMESPACE_BEGIN(CryptoPP)
//! _
//! \class ObjectFactory
//! \brief Object factory interface for registering objects
//! \tparam AbstractClass Base class interface of the object
template <class AbstractClass>
class ObjectFactory
{
@ -18,7 +23,10 @@ public:
virtual AbstractClass * CreateObject() const =0;
};
//! _
//! \class DefaultObjectFactory
//! \brief Object factory for registering objects
//! \tparam AbstractClass Base class interface of the object
//! \tparam ConcreteClass Class object
template <class AbstractClass, class ConcreteClass>
class DefaultObjectFactory : public ObjectFactory<AbstractClass>
{
@ -29,7 +37,10 @@ public:
}
};
//! _
//! \class ObjectFactoryRegistry
//! \brief Object factory registry
//! \tparam AbstractClass Base class interface of the object
//! \tparam instance unique identifier
template <class AbstractClass, int instance=0>
class ObjectFactoryRegistry
{
@ -94,6 +105,11 @@ ObjectFactoryRegistry<AbstractClass, instance> & ObjectFactoryRegistry<AbstractC
return s_registry;
}
//! \class RegisterDefaultFactoryFor
//! \brief Object factory registry helper
//! \tparam AbstractClass Base class interface of the object
//! \tparam ConcreteClass Class object
//! \tparam instance unique identifier
template <class AbstractClass, class ConcreteClass, int instance = 0>
struct RegisterDefaultFactoryFor
{
@ -106,34 +122,58 @@ struct RegisterDefaultFactoryFor
}
};
//! \fn RegisterAsymmetricCipherDefaultFactories
//! \brief Register asymmetric ciphers
//! \tparam SchemeClass interface of the object under a scheme
//! \details Schemes include asymmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>),
//! signature schemes (registers <tt>SchemeClass::Signer</tt> and <tt>SchemeClass::Verifier</tt>),
//! symmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>),
//! authenticated symmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>), etc.
template <class SchemeClass>
void RegisterAsymmetricCipherDefaultFactories(const char *name=NULL, SchemeClass *dummy=NULL)
void RegisterAsymmetricCipherDefaultFactories(const char *name=NULL)
{
CRYPTOPP_UNUSED(dummy);
RegisterDefaultFactoryFor<PK_Encryptor, typename SchemeClass::Encryptor>((const char *)name);
RegisterDefaultFactoryFor<PK_Decryptor, typename SchemeClass::Decryptor>((const char *)name);
}
//! \fn RegisterSignatureSchemeDefaultFactories
//! \brief Register signature schemes
//! \tparam SchemeClass interface of the object under a scheme
//! \details Schemes include asymmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>),
//! signature schemes (registers <tt>SchemeClass::Signer</tt> and <tt>SchemeClass::Verifier</tt>),
//! symmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>),
//! authenticated symmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>), etc.
template <class SchemeClass>
void RegisterSignatureSchemeDefaultFactories(const char *name=NULL, SchemeClass *dummy=NULL)
void RegisterSignatureSchemeDefaultFactories(const char *name=NULL)
{
CRYPTOPP_UNUSED(dummy);
RegisterDefaultFactoryFor<PK_Signer, typename SchemeClass::Signer>((const char *)name);
RegisterDefaultFactoryFor<PK_Verifier, typename SchemeClass::Verifier>((const char *)name);
}
//! \fn RegisterSymmetricCipherDefaultFactories
//! \brief Register symmetric ciphers
//! \tparam SchemeClass interface of the object under a scheme
//! \details Schemes include asymmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>),
//! signature schemes (registers <tt>SchemeClass::Signer</tt> and <tt>SchemeClass::Verifier</tt>),
//! symmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>),
//! authenticated symmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>), etc.
template <class SchemeClass>
void RegisterSymmetricCipherDefaultFactories(const char *name=NULL, SchemeClass *dummy=NULL)
void RegisterSymmetricCipherDefaultFactories(const char *name=NULL)
{
CRYPTOPP_UNUSED(dummy);
RegisterDefaultFactoryFor<SymmetricCipher, typename SchemeClass::Encryption, ENCRYPTION>((const char *)name);
RegisterDefaultFactoryFor<SymmetricCipher, typename SchemeClass::Decryption, DECRYPTION>((const char *)name);
}
//! \fn RegisterAuthenticatedSymmetricCipherDefaultFactories
//! \brief Register authenticated symmetric ciphers
//! \tparam SchemeClass interface of the object under a scheme
//! \details Schemes include asymmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>),
//! signature schemes (registers <tt>SchemeClass::Signer</tt> and <tt>SchemeClass::Verifier</tt>),
//! symmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>),
//! authenticated symmetric ciphers (registers <tt>SchemeClass::Encryptor</tt> and <tt>SchemeClass::Decryptor</tt>), etc.
template <class SchemeClass>
void RegisterAuthenticatedSymmetricCipherDefaultFactories(const char *name=NULL, SchemeClass *dummy=NULL)
void RegisterAuthenticatedSymmetricCipherDefaultFactories(const char *name=NULL)
{
CRYPTOPP_UNUSED(dummy);
RegisterDefaultFactoryFor<AuthenticatedSymmetricCipher, typename SchemeClass::Encryption, ENCRYPTION>((const char *)name);
RegisterDefaultFactoryFor<AuthenticatedSymmetricCipher, typename SchemeClass::Decryption, DECRYPTION>((const char *)name);
}

View File

@ -93,10 +93,8 @@ void X917RNG_KnownAnswerTest(
const char *key,
const char *seed,
const char *deterministicTimeVector,
const char *output,
CIPHER *dummy = NULL)
const char *output)
{
CRYPTOPP_UNUSED(dummy);
#ifdef OS_RNG_AVAILABLE
std::string decodedKey, decodedSeed, decodedDeterministicTimeVector;
StringSource(key, true, new HexDecoder(new StringSink(decodedKey)));
@ -134,10 +132,8 @@ void SymmetricEncryptionKnownAnswerTest(
const char *cbc,
const char *cfb,
const char *ofb,
const char *ctr,
CIPHER *dummy = NULL)
const char *ctr)
{
CRYPTOPP_UNUSED(dummy);
std::string decodedKey;
StringSource(key, true, new HexDecoder(new StringSink(decodedKey)));
@ -170,17 +166,15 @@ void KnownAnswerTest(HashTransformation &hash, const char *message, const char *
}
template <class HASH>
void SecureHashKnownAnswerTest(const char *message, const char *digest, HASH *dummy = NULL)
void SecureHashKnownAnswerTest(const char *message, const char *digest)
{
CRYPTOPP_UNUSED(dummy);
HASH hash;
KnownAnswerTest(hash, message, digest);
}
template <class MAC>
void MAC_KnownAnswerTest(const char *key, const char *message, const char *digest, MAC *dummy = NULL)
void MAC_KnownAnswerTest(const char *key, const char *message, const char *digest)
{
CRYPTOPP_UNUSED(dummy);
std::string decodedKey;
StringSource(key, true, new HexDecoder(new StringSink(decodedKey)));
@ -189,12 +183,11 @@ void MAC_KnownAnswerTest(const char *key, const char *message, const char *diges
}
template <class SCHEME>
void SignatureKnownAnswerTest(const char *key, const char *message, const char *signature, SCHEME *dummy = NULL)
void SignatureKnownAnswerTest(const char *key, const char *message, const char *signature)
{
typename SCHEME::Signer signer(StringSource(key, true, new HexDecoder).Ref());
typename SCHEME::Verifier verifier(signer);
CRYPTOPP_UNUSED(dummy);
RandomPool rng;
EqualityComparisonFilter comparison;
@ -267,12 +260,11 @@ void SignaturePairwiseConsistencyTest(const PK_Signer &signer, const PK_Verifier
}
template <class SCHEME>
void SignaturePairwiseConsistencyTest(const char *key, SCHEME *dummy = NULL)
void SignaturePairwiseConsistencyTest(const char *key)
{
typename SCHEME::Signer signer(StringSource(key, true, new HexDecoder).Ref());
typename SCHEME::Verifier verifier(signer);
CRYPTOPP_UNUSED(dummy);
SignaturePairwiseConsistencyTest(signer, verifier);
}