LTKCPP-- LLRP Toolkit C Plus Plus Library
Public Member Functions | Protected Attributes | List of all members
LLRP::CLLRPConfigurationStateValue Class Reference

Class Definition CLLRPConfigurationStateValue for LLRP parameter LLRPConfigurationStateValue. More...

#include <ltkcpp.h>

Inheritance diagram for LLRP::CLLRPConfigurationStateValue:
LLRP::CParameter LLRP::CElement

Public Member Functions

llrp_u32_t getLLRPConfigurationStateValue (void)
 Get accessor functions for the LLRP LLRPConfigurationStateValue field.
 
void setLLRPConfigurationStateValue (llrp_u32_t value)
 Set accessor functions for the LLRP LLRPConfigurationStateValue field.
 
- Public Member Functions inherited from LLRP::CParameter
virtual llrp_bool_t isAllowedIn (const CTypeDescriptor *pEnclosingTypeDescriptor) const
 Validate whether the element is allowed as a base type in the enclosing element. More...
 
llrp_bool_t isAllowedExtension (const CTypeDescriptor *pEnclosingTypeDescriptor)
 Validate whether the element is allowed as an extension in the enclosing element. More...
 
- Public Member Functions inherited from LLRP::CElement
void addSubParameterToAllList (CParameter *pParameter)
 Add a subparameter to m_listAllSubParameters. Called by the accessor functions setXXX and addXXX. More...
 
void removeSubParameterFromAllList (CParameter *pParameter)
 Delete a subparameter from m_listAllSubParameters. Called by the accessor functions setXXX (to remove prior reference) clearXXX(). More...
 
void clearSubParameterList (tListOfParameters *pParameterList)
 Clear a list of subparameters. For each entry apply removeSubParameter(). More...
 
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)
 A wrapper around LLRP::toXMLString() More...
 

Protected Attributes

llrp_u32_t m_LLRPConfigurationStateValue
 

Internal Framework Functions

static const CFieldDescriptor
*const 
s_apFieldDescriptorTable []
 
static const CTypeDescriptor s_typeDescriptor
 
static const CFieldDescriptor s_fdLLRPConfigurationStateValue
 
void decodeFields (CDecoderStream *pDecoderStream)
 Virtual function provided by each specific element type to decode fields (simple values). Leaves pDecoderStream at first subparameter. More...
 
void assimilateSubParameters (CErrorDetails *pError)
 Assimilates the decoded sub-parameters into m_listAllSubParameters. More...
 
void encode (CEncoderStream *pEncoderStream) const
 Encode fields and subparameters. More...
 
static CElements_construct (void)
 
static void s_decodeFields (CDecoderStream *pDecoderStream, CElement *pElement)
 

Additional Inherited Members

- Public Attributes inherited from LLRP::CElement
const CTypeDescriptorm_pType
 The type descriptor desribing this element.
 
CElementm_pParent
 Element that encloses this one, NULL if this is top-level element.
 
tListOfParameters m_listAllSubParameters
 List of all sub elements.
 

Detailed Description

Class Definition CLLRPConfigurationStateValue for LLRP parameter LLRPConfigurationStateValue.

Document Reference LLRP Specification Section 12.2.1

Document Reference LLRP Specification Section 16.2.6.1

<p>This parameter, LLRPConfigurationStateValue, is a 32-bit value which represents a Reader's entire LLRP configuration state including: LLRP configuration parameters, vendor extension configuration parameters, ROSpecs, and AccessSpecs.  A Reader 

SHALL change this value only:

<ul>

<li>
<p>Upon successful execution of any of the following messages: ADD_ROSPEC, DELETE_ROSPEC, ADD_ACCESSSPEC, DELETE_ACCESSSPEC, SET_READER_CONFIG, or any CUSTOM_MESSAGE command that alters the reader's internal configuration.</p> 
<li>
<p>Upon an automatically deleted AccessSpec due to completion of OperationCountValue number of operations (Section 11.2.1.1).</p> 
    </ul> 

A Reader SHALL not change this value when the CurrentState of a ROSpec or AccessSpec changes.

<p>The mechanism used to compute the LLRP configuration state value is implementation dependent.  However, a good implementation will insure that there's a high probability that the value will change when the Reader's configuration state changes.</p> 


<p>It is expected that a Client will configure the Reader and then request the Reader's configuration state value.  The Client will then save this state value. If this value does not change between two requests for it, then a Client may assume that the above components of the LLRP configuration have also not changed.</p> 


<p>When requested by a Client, the Reader 

SHALL compute a state value based upon the Reader's current configuration state. Upon each request, the Reader SHALL return the same state value provided a Client has not altered the Reader's configuration state between requests. Aside from this requirement, the computation of the state value is implementation dependent.

<SMALL><i>Copyright 2006, 2007, EPCglobal Inc. The proprietary text of EPCglobal Inc. included here is in not a Contribution to the LLRP toolkit, under Apache License, Version 2.0. The right to use the proprietary text is limited to reproduction and display thereof within the work.</i></SMALL> 

Definition at line 12263 of file ltkcpp.h.

Member Function Documentation

void LLRP::CLLRPConfigurationStateValue::assimilateSubParameters ( CErrorDetails pError)
virtual

Assimilates the decoded sub-parameters into m_listAllSubParameters.

After fields are decoded, the CDecoder itself takes care of gathering the subparameters into m_listAllSubParameters. Once the end of the enclosing TLV (or message) is reached this assimilateSubParameters() function is called to create parameter refrences from the primary member variables.

Parameters
[out]pErrorError details for encoded stream

Implements LLRP::CElement.

void LLRP::CLLRPConfigurationStateValue::decodeFields ( CDecoderStream pDecoderStream)
virtual

Virtual function provided by each specific element type to decode fields (simple values). Leaves pDecoderStream at first subparameter.

Parameters
[in]pDecoderStreamThe stream from which to decode fields
Returns
void

Implements LLRP::CElement.

void LLRP::CLLRPConfigurationStateValue::encode ( CEncoderStream pEncoderStream) const
virtual

Encode fields and subparameters.

Parameters
[in]pEncoderStreamStream to encode
Returns
void

Implements LLRP::CElement.


The documentation for this class was generated from the following file: