_enum##_Param::DType& \
GenericUri::param(const _enum##_Param& paramType) \
{ \
checkParsed(); \
_enum##_Param::Type* p = \
static_cast<_enum##_Param::Type*>(getParameterByEnum(paramType.getTypeNum())); \
if (!p) \
{ \
p = new _enum##_Param::Type(paramType.getTypeNum()); \
mParameters.push_back(p); \
} \
return p->value(); \
} \
\
const _enum##_Param::DType& \
GenericUri::param(const _enum##_Param& paramType) const \
{ \
checkParsed(); \
_enum##_Param::Type* p = \
static_cast<_enum##_Param::Type*>(getParameterByEnum(paramType.getTypeNum())); \
if (!p) \
{ \
DebugLog(<< *this); \
throw Exception("Missing parameter " _name, __FILE__, __LINE__); \
} \
return p->value(); \
}
static Data ParameterNames[MAX_PARAMETER]
static array of ParameterNames indexed by the 2nd element in defineParam(...)