Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

NameValuePairs Class Reference

#include <cryptlib.h>

Inheritance diagram for NameValuePairs:

CryptoMaterial NullNameValuePairs ASN1CryptoMaterial GeneratableCryptoMaterial PublicKey ASN1Key DL_GroupParameters_IntegerBased ESIGNFunction CryptoParameters PrivateKey ESIGNFunction LUCFunction RabinFunction RWFunction X509PublicKey List of all members.

Detailed Description

interface for retrieving values given their names

This class is used to safely pass a variable number of arbitrarily typed arguments to functions and to read values from keys and crypto parameters. To get a value, you need to know the name and the type of the value. Call GetValueNames() on a NameValuePairs object to obtain a list of value names that it supports. Then look at the Name namespace documentation to see what the type of each value is, or alternatively, call GetIntValue() with the value name, and if the type is not int, a ValueTypeMismatch exception will be thrown and you can get the actual type from the exception object.

Definition at line 201 of file cryptlib.h.

Public Member Functions

template<class T> bool GetThisObject (T &object) const
 get a copy of this object or a subobject of it

template<class T> bool GetThisPointer (T *&p) const
 get a pointer to this object, as a pointer to T

template<class T> bool GetValue (const char *name, T &value) const
 get a named value, returns true if the name exists

template<class T> T GetValueWithDefault (const char *name, T defaultValue) const
 get a named value, returns the default if the name doesn't exist

std::string GetValueNames () const
 get a list of value names that can be retrieved

bool GetIntValue (const char *name, int &value) const
 get a named value with type int

int GetIntValueWithDefault (const char *name, int defaultValue) const
 get a named value with type int, with default

template<class T> void GetRequiredParameter (const char *className, const char *name, T &value) const
void GetRequiredIntParameter (const char *className, const char *name, int &value) const
virtual bool GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const =0
 to be implemented by derived classes, users should use one of the above functions instead


Static Public Member Functions

void ThrowIfTypeMismatch (const char *name, const std::type_info &stored, const std::type_info &retrieving)
 used by derived classes to check for type mismatch


Member Function Documentation

bool NameValuePairs::GetIntValue const char *  name,
int &  value
const [inline]
 

get a named value with type int

used to ensure we don't accidentally try to get an unsigned int or some other type when we mean int (which is the most common case)

Definition at line 258 of file cryptlib.h.

References GetIntValue().

Referenced by InvertibleRWFunction::GenerateRandom(), InvertibleRSAFunction::GenerateRandom(), InvertibleRabinFunction::GenerateRandom(), InvertibleLUCFunction::GenerateRandom(), DL_GroupParameters_IntegerBased::GenerateRandom(), DL_GroupParameters_DSA::GenerateRandom(), InvertibleESIGNFunction::GenerateRandom(), and GetIntValue().


The documentation for this class was generated from the following file:
Generated on Wed Jul 28 08:07:14 2004 for Crypto++ by doxygen 1.3.7