23 CElement::CElement(
void)
29 CElement::~CElement (
void)
46 if(NULL != pParameter)
57 if(NULL != pParameter)
65 tListOfParameters * pParameterList)
68 tListOfParameters::iterator elem = pParameterList->begin();
69 elem != pParameterList->end();
76 pParameterList->clear();
90 rc = (*pFunc)(
this, pArg);
96 if(iDepth >= nMaxDepth)
102 tListOfParameters::const_iterator elem =
107 (*elem)->walk(pFunc, pArg, iDepth+1, nMaxDepth);
113 CMessage::CMessage(
void)
143 return isAllowedIn(pEnclosingTypeDescriptor);
This is the base class for all parameter and message types.
const CTypeDescriptor * m_pType
The type descriptor desribing this element.
void clearSubParameterList(tListOfParameters *pParameterList)
Clear a list of subparameters. For each entry apply removeSubParameter().
Based type descriptions for the LTKCPP library.
llrp_u32_t m_TypeNum
Type number or, for custom, subtype number.
int walk(int(*pFunc)(const CElement *pElement, void *pArg), void *pArg, int iDepth, int nMaxDepth) const
Recursive tree walk. The callback is invoked for each element.
void removeSubParameterFromAllList(CParameter *pParameter)
Delete a subparameter from m_listAllSubParameters. Called by the accessor functions setXXX (to remove...
CElement * m_pParent
Element that encloses this one, NULL if this is top-level element.
const CVendorDescriptor * m_pVendorDescriptor
NULL=>standard LLRP, !NULL=>Vendor (PEN) of custom message or parameter.
void addSubParameterToAllList(CParameter *pParameter)
Add a subparameter to m_listAllSubParameters. Called by the accessor functions setXXX and addXXX...
Base Class for All LLRP LTK Parameters.
tListOfParameters m_listAllSubParameters
List of all sub elements.
llrp_bool_t isAllowedExtension(const CTypeDescriptor *pEnclosingTypeDescriptor)
Validate whether the element is allowed as an extension in the enclosing element. ...
virtual llrp_bool_t isAllowedIn(const CTypeDescriptor *pEnclosingTypeDescriptor) const
Validate whether the element is allowed as a base type in the enclosing element.
llrp_bool_t m_bIsMessage
TRUE for a message type, FALSE for a parameter type.
Describes a message or parameter type.