#include <ltkcpp_base.h>
Inheritance diagram for LLRP::CElement:
Public Member Functions | |
void | addSubParameterToAllList (CParameter *pParameter) |
Add a subparameter to m_listAllSubParameters. Called by the accessor functions setXXX and addXXX. | |
void | removeSubParameterFromAllList (CParameter *pParameter) |
Delete a subparameter from m_listAllSubParameters. Called by the accessor functions setXXX (to remove prior reference) clearXXX(). | |
void | clearSubParameterList (tListOfParameters *pParameterList) |
Clear a list of subparameters. For each entry apply removeSubParameter(). | |
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. | |
EResultCode | toXMLString (char *pBuffer, int nBuffer) |
Format an element as XML text. | |
virtual void | decodeFields (CDecoderStream *pDecoderStream)=0 |
Virtual function provided by each specific element type to decode fields (simple values). Leaves pDecoderStream at first subparameter. | |
virtual void | assimilateSubParameters (CErrorDetails *pError)=0 |
Assimilates the decoded sub-parameters into m_listAllSubParameters. | |
virtual void | encode (CEncoderStream *pEncoderStream) const =0 |
Encode fields and subparameters. | |
Public Attributes | |
const CTypeDescriptor * | m_pType |
The type descriptor desribing this element. | |
CElement * | m_pParent |
Element that encloses this one, NULL if this is top-level element. | |
tListOfParameters | m_listAllSubParameters |
List of all sub elements. |
During decode, all subparameters found are entered on m_listAllSubParameters. Then the element's assimilateSubParameters() member function is called to iterate through the list and attach the parameters to specific fields.
The m_listAllSubParameters is a secondary reference to all the subparameters. When the element is destructed all parameters referenced by m_listAllSubParameters are deleted. The C++ intrinsic destructors take care of deleting the list itself.
During destruct the specific fields are not processed. The fields that are lists are automatically desctructed. So are the fields that are array types (i.e. utf8v) are also automatically destructed. The fields that are simple pointers are simply ignored.
This works because every parameter referenced by specific fields is also referenced by m_listAllSubParameters.
Definition at line 974 of file ltkcpp_base.h.
|
Add a subparameter to m_listAllSubParameters. Called by the accessor functions setXXX and addXXX.
Definition at line 49 of file ltkcpp_element.cpp. References m_listAllSubParameters. |
|
|
Clear a list of subparameters. For each entry apply removeSubParameter().
Definition at line 70 of file ltkcpp_element.cpp. References removeSubParameterFromAllList(). |
|
Virtual function provided by each specific element type to decode fields (simple values). Leaves pDecoderStream at first subparameter.
Implemented in LLRP::CCUSTOM_MESSAGE, LLRP::CGET_READER_CAPABILITIES, LLRP::CGET_READER_CAPABILITIES_RESPONSE, LLRP::CADD_ROSPEC, LLRP::CADD_ROSPEC_RESPONSE, LLRP::CDELETE_ROSPEC, LLRP::CDELETE_ROSPEC_RESPONSE, LLRP::CSTART_ROSPEC, LLRP::CSTART_ROSPEC_RESPONSE, LLRP::CSTOP_ROSPEC, LLRP::CSTOP_ROSPEC_RESPONSE, LLRP::CENABLE_ROSPEC, LLRP::CENABLE_ROSPEC_RESPONSE, LLRP::CDISABLE_ROSPEC, LLRP::CDISABLE_ROSPEC_RESPONSE, LLRP::CGET_ROSPECS, LLRP::CGET_ROSPECS_RESPONSE, LLRP::CADD_ACCESSSPEC, LLRP::CADD_ACCESSSPEC_RESPONSE, LLRP::CDELETE_ACCESSSPEC, LLRP::CDELETE_ACCESSSPEC_RESPONSE, LLRP::CENABLE_ACCESSSPEC, LLRP::CENABLE_ACCESSSPEC_RESPONSE, LLRP::CDISABLE_ACCESSSPEC, LLRP::CDISABLE_ACCESSSPEC_RESPONSE, LLRP::CGET_ACCESSSPECS, LLRP::CGET_ACCESSSPECS_RESPONSE, LLRP::CGET_READER_CONFIG, LLRP::CGET_READER_CONFIG_RESPONSE, LLRP::CSET_READER_CONFIG, LLRP::CSET_READER_CONFIG_RESPONSE, LLRP::CCLOSE_CONNECTION, LLRP::CCLOSE_CONNECTION_RESPONSE, LLRP::CGET_REPORT, LLRP::CRO_ACCESS_REPORT, LLRP::CKEEPALIVE, LLRP::CKEEPALIVE_ACK, LLRP::CREADER_EVENT_NOTIFICATION, LLRP::CENABLE_EVENTS_AND_REPORTS, LLRP::CERROR_MESSAGE, LLRP::CUTCTimestamp, LLRP::CUptime, LLRP::CCustom, LLRP::CGeneralDeviceCapabilities, LLRP::CReceiveSensitivityTableEntry, LLRP::CPerAntennaReceiveSensitivityRange, LLRP::CPerAntennaAirProtocol, LLRP::CGPIOCapabilities, LLRP::CLLRPCapabilities, LLRP::CRegulatoryCapabilities, LLRP::CUHFBandCapabilities, LLRP::CTransmitPowerLevelTableEntry, LLRP::CFrequencyInformation, LLRP::CFrequencyHopTable, LLRP::CFixedFrequencyTable, LLRP::CROSpec, LLRP::CROBoundarySpec, LLRP::CROSpecStartTrigger, LLRP::CPeriodicTriggerValue, LLRP::CGPITriggerValue, LLRP::CROSpecStopTrigger, LLRP::CAISpec, LLRP::CAISpecStopTrigger, LLRP::CTagObservationTrigger, LLRP::CInventoryParameterSpec, LLRP::CRFSurveySpec, LLRP::CRFSurveySpecStopTrigger, LLRP::CAccessSpec, LLRP::CAccessSpecStopTrigger, LLRP::CAccessCommand, LLRP::CLLRPConfigurationStateValue, LLRP::CIdentification, LLRP::CGPOWriteData, LLRP::CKeepaliveSpec, LLRP::CAntennaProperties, LLRP::CAntennaConfiguration, LLRP::CRFReceiver, LLRP::CRFTransmitter, LLRP::CGPIPortCurrentState, LLRP::CEventsAndReports, LLRP::CROReportSpec, LLRP::CTagReportContentSelector, LLRP::CAccessReportSpec, LLRP::CTagReportData, LLRP::CEPCData, LLRP::CEPC_96, LLRP::CROSpecID, LLRP::CSpecIndex, LLRP::CInventoryParameterSpecID, LLRP::CAntennaID, LLRP::CPeakRSSI, LLRP::CChannelIndex, LLRP::CFirstSeenTimestampUTC, LLRP::CFirstSeenTimestampUptime, LLRP::CLastSeenTimestampUTC, LLRP::CLastSeenTimestampUptime, LLRP::CTagSeenCount, LLRP::CAccessSpecID, LLRP::CRFSurveyReportData, LLRP::CFrequencyRSSILevelEntry, LLRP::CReaderEventNotificationSpec, LLRP::CEventNotificationState, LLRP::CReaderEventNotificationData, LLRP::CHoppingEvent, LLRP::CGPIEvent, LLRP::CROSpecEvent, LLRP::CReportBufferLevelWarningEvent, LLRP::CReportBufferOverflowErrorEvent, LLRP::CReaderExceptionEvent, LLRP::COpSpecID, LLRP::CRFSurveyEvent, LLRP::CAISpecEvent, LLRP::CAntennaEvent, LLRP::CConnectionAttemptEvent, LLRP::CConnectionCloseEvent, LLRP::CLLRPStatus, LLRP::CFieldError, LLRP::CParameterError, LLRP::CC1G2LLRPCapabilities, LLRP::CC1G2UHFRFModeTable, LLRP::CC1G2UHFRFModeTableEntry, LLRP::CC1G2InventoryCommand, LLRP::CC1G2Filter, LLRP::CC1G2TagInventoryMask, LLRP::CC1G2TagInventoryStateAwareFilterAction, LLRP::CC1G2TagInventoryStateUnawareFilterAction, LLRP::CC1G2RFControl, LLRP::CC1G2SingulationControl, LLRP::CC1G2TagInventoryStateAwareSingulationAction, LLRP::CC1G2TagSpec, LLRP::CC1G2TargetTag, LLRP::CC1G2Read, LLRP::CC1G2Write, LLRP::CC1G2Kill, LLRP::CC1G2Lock, LLRP::CC1G2LockPayload, LLRP::CC1G2BlockErase, LLRP::CC1G2BlockWrite, LLRP::CC1G2EPCMemorySelector, LLRP::CC1G2_PC, LLRP::CC1G2_CRC, LLRP::CC1G2SingulationDetails, LLRP::CC1G2ReadOpSpecResult, LLRP::CC1G2WriteOpSpecResult, LLRP::CC1G2KillOpSpecResult, LLRP::CC1G2LockOpSpecResult, LLRP::CC1G2BlockEraseOpSpecResult, and LLRP::CC1G2BlockWriteOpSpecResult. |
|
Encode fields and subparameters.
Implemented in LLRP::CCUSTOM_MESSAGE, LLRP::CGET_READER_CAPABILITIES, LLRP::CGET_READER_CAPABILITIES_RESPONSE, LLRP::CADD_ROSPEC, LLRP::CADD_ROSPEC_RESPONSE, LLRP::CDELETE_ROSPEC, LLRP::CDELETE_ROSPEC_RESPONSE, LLRP::CSTART_ROSPEC, LLRP::CSTART_ROSPEC_RESPONSE, LLRP::CSTOP_ROSPEC, LLRP::CSTOP_ROSPEC_RESPONSE, LLRP::CENABLE_ROSPEC, LLRP::CENABLE_ROSPEC_RESPONSE, LLRP::CDISABLE_ROSPEC, LLRP::CDISABLE_ROSPEC_RESPONSE, LLRP::CGET_ROSPECS, LLRP::CGET_ROSPECS_RESPONSE, LLRP::CADD_ACCESSSPEC, LLRP::CADD_ACCESSSPEC_RESPONSE, LLRP::CDELETE_ACCESSSPEC, LLRP::CDELETE_ACCESSSPEC_RESPONSE, LLRP::CENABLE_ACCESSSPEC, LLRP::CENABLE_ACCESSSPEC_RESPONSE, LLRP::CDISABLE_ACCESSSPEC, LLRP::CDISABLE_ACCESSSPEC_RESPONSE, LLRP::CGET_ACCESSSPECS, LLRP::CGET_ACCESSSPECS_RESPONSE, LLRP::CGET_READER_CONFIG, LLRP::CGET_READER_CONFIG_RESPONSE, LLRP::CSET_READER_CONFIG, LLRP::CSET_READER_CONFIG_RESPONSE, LLRP::CCLOSE_CONNECTION, LLRP::CCLOSE_CONNECTION_RESPONSE, LLRP::CGET_REPORT, LLRP::CRO_ACCESS_REPORT, LLRP::CKEEPALIVE, LLRP::CKEEPALIVE_ACK, LLRP::CREADER_EVENT_NOTIFICATION, LLRP::CENABLE_EVENTS_AND_REPORTS, LLRP::CERROR_MESSAGE, LLRP::CUTCTimestamp, LLRP::CUptime, LLRP::CCustom, LLRP::CGeneralDeviceCapabilities, LLRP::CReceiveSensitivityTableEntry, LLRP::CPerAntennaReceiveSensitivityRange, LLRP::CPerAntennaAirProtocol, LLRP::CGPIOCapabilities, LLRP::CLLRPCapabilities, LLRP::CRegulatoryCapabilities, LLRP::CUHFBandCapabilities, LLRP::CTransmitPowerLevelTableEntry, LLRP::CFrequencyInformation, LLRP::CFrequencyHopTable, LLRP::CFixedFrequencyTable, LLRP::CROSpec, LLRP::CROBoundarySpec, LLRP::CROSpecStartTrigger, LLRP::CPeriodicTriggerValue, LLRP::CGPITriggerValue, LLRP::CROSpecStopTrigger, LLRP::CAISpec, LLRP::CAISpecStopTrigger, LLRP::CTagObservationTrigger, LLRP::CInventoryParameterSpec, LLRP::CRFSurveySpec, LLRP::CRFSurveySpecStopTrigger, LLRP::CAccessSpec, LLRP::CAccessSpecStopTrigger, LLRP::CAccessCommand, LLRP::CLLRPConfigurationStateValue, LLRP::CIdentification, LLRP::CGPOWriteData, LLRP::CKeepaliveSpec, LLRP::CAntennaProperties, LLRP::CAntennaConfiguration, LLRP::CRFReceiver, LLRP::CRFTransmitter, LLRP::CGPIPortCurrentState, LLRP::CEventsAndReports, LLRP::CROReportSpec, LLRP::CTagReportContentSelector, LLRP::CAccessReportSpec, LLRP::CTagReportData, LLRP::CEPCData, LLRP::CEPC_96, LLRP::CROSpecID, LLRP::CSpecIndex, LLRP::CInventoryParameterSpecID, LLRP::CAntennaID, LLRP::CPeakRSSI, LLRP::CChannelIndex, LLRP::CFirstSeenTimestampUTC, LLRP::CFirstSeenTimestampUptime, LLRP::CLastSeenTimestampUTC, LLRP::CLastSeenTimestampUptime, LLRP::CTagSeenCount, LLRP::CAccessSpecID, LLRP::CRFSurveyReportData, LLRP::CFrequencyRSSILevelEntry, LLRP::CReaderEventNotificationSpec, LLRP::CEventNotificationState, LLRP::CReaderEventNotificationData, LLRP::CHoppingEvent, LLRP::CGPIEvent, LLRP::CROSpecEvent, LLRP::CReportBufferLevelWarningEvent, LLRP::CReportBufferOverflowErrorEvent, LLRP::CReaderExceptionEvent, LLRP::COpSpecID, LLRP::CRFSurveyEvent, LLRP::CAISpecEvent, LLRP::CAntennaEvent, LLRP::CConnectionAttemptEvent, LLRP::CConnectionCloseEvent, LLRP::CLLRPStatus, LLRP::CFieldError, LLRP::CParameterError, LLRP::CC1G2LLRPCapabilities, LLRP::CC1G2UHFRFModeTable, LLRP::CC1G2UHFRFModeTableEntry, LLRP::CC1G2InventoryCommand, LLRP::CC1G2Filter, LLRP::CC1G2TagInventoryMask, LLRP::CC1G2TagInventoryStateAwareFilterAction, LLRP::CC1G2TagInventoryStateUnawareFilterAction, LLRP::CC1G2RFControl, LLRP::CC1G2SingulationControl, LLRP::CC1G2TagInventoryStateAwareSingulationAction, LLRP::CC1G2TagSpec, LLRP::CC1G2TargetTag, LLRP::CC1G2Read, LLRP::CC1G2Write, LLRP::CC1G2Kill, LLRP::CC1G2Lock, LLRP::CC1G2LockPayload, LLRP::CC1G2BlockErase, LLRP::CC1G2BlockWrite, LLRP::CC1G2EPCMemorySelector, LLRP::CC1G2_PC, LLRP::CC1G2_CRC, LLRP::CC1G2SingulationDetails, LLRP::CC1G2ReadOpSpecResult, LLRP::CC1G2WriteOpSpecResult, LLRP::CC1G2KillOpSpecResult, LLRP::CC1G2LockOpSpecResult, LLRP::CC1G2BlockEraseOpSpecResult, and LLRP::CC1G2BlockWriteOpSpecResult. |
|
Delete a subparameter from m_listAllSubParameters. Called by the accessor functions setXXX (to remove prior reference) clearXXX().
Definition at line 60 of file ltkcpp_element.cpp. References m_listAllSubParameters. Referenced by clearSubParameterList(). |
|
Format an element as XML text.
Definition at line 1085 of file ltkcpp_xmltextencode.cpp. |