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

Class Definition CC1G2SingulationControl for LLRP parameter C1G2SingulationControl. More...

#include <ltkcpp.h>

Inheritance diagram for LLRP::CC1G2SingulationControl:
LLRP::CParameter LLRP::CElement

Public Member Functions

llrp_u2_t getSession (void)
 Get accessor functions for the LLRP Session field.
 
void setSession (llrp_u2_t value)
 Set accessor functions for the LLRP Session field.
 
llrp_u16_t getTagPopulation (void)
 Get accessor functions for the LLRP TagPopulation field.
 
void setTagPopulation (llrp_u16_t value)
 Set accessor functions for the LLRP TagPopulation field.
 
llrp_u32_t getTagTransitTime (void)
 Get accessor functions for the LLRP TagTransitTime field.
 
void setTagTransitTime (llrp_u32_t value)
 Set accessor functions for the LLRP TagTransitTime field.
 
CC1G2TagInventoryStateAwareSingulationActiongetC1G2TagInventoryStateAwareSingulationAction (void)
 Get accessor functions for the LLRP C1G2TagInventoryStateAwareSingulationAction sub-parameter.
 
EResultCode setC1G2TagInventoryStateAwareSingulationAction (CC1G2TagInventoryStateAwareSingulationAction *pValue)
 Set accessor functions for the LLRP C1G2TagInventoryStateAwareSingulationAction sub-parameter.
 
- 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_u2_t m_Session
 
llrp_u16_t m_TagPopulation
 
llrp_u32_t m_TagTransitTime
 
CC1G2TagInventoryStateAwareSingulationActionm_pC1G2TagInventoryStateAwareSingulationAction
 

Internal Framework Functions

static const CFieldDescriptor
*const 
s_apFieldDescriptorTable []
 
static const CTypeDescriptor s_typeDescriptor
 
static const CFieldDescriptor s_fdSession
 
static const CFieldDescriptor s_fdTagPopulation
 
static const CFieldDescriptor s_fdTagTransitTime
 
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 CC1G2SingulationControl for LLRP parameter C1G2SingulationControl.

Document Reference LLRP Specification Section 15.2.1.2.1.3

Document Reference LLRP Specification Section 16.3.1.2.1.3

<p>This C1G2SingulationControl Parameter provides controls particular to the singulation process in the C1G2 air protocol. The singulation process is started using a Query command in the C1G2 protocol. The Query command describes the session number, tag state, the start Q value to use, and the RF link parameters. The RF link parameters are specified using the C1G2RFControl Parameter (see section 15.2.1.2.1.2). This Singulation Parameter specifies the session, tag state and description of the target singulation environment. The following attributes are specified to provide guidance to the Reader for the singulation algorithm:</p> 


<ul>

<li>
<p>Tag transit time: This is the measure of expected tag mobility in the field of view of the antenna where this inventory operation is getting executed.</p> 
<li>
<p>Tag population: This is the expected tag population in the field of view of the antenna.</p> 
     </ul> 

In addition, the Singulation Parameter allows setting of the following:

<ul>

<li>
<p>Session ID: This is the C1G2 session number that the tags use to update the inventory state upon successful singulation.</p> 
<li>
<p>TagInventoryStateAwareSingulationAction: This is used if the TagInventoryStateAware flag is set to true in the InventoryParameterSpec.</p> 


<ul> 

<li>
<p>    I: This is the inventoried state of the target tag population in the selected session. Only tags that match the session state participate in the inventory round.  If the Ignore value is specified, the Reader ignores this field, and its up to the Reader implementation to determine the value of I used in the inventory round.</p> 
<li>
<p>    S: This is the state of the SL flag in the tag. Only tags that match that tag state participate in the inventory round. If the Ignore value is specified, the Reader ignores this field, and its up to the Reader implementation to determine the value of S used in the inventory round.</p> 
           </ul> 
     </ul> 

If a reader sets CanDoTagInventoryStateAwareSingulation to False in LLRPCapabilities (section 9.2.2), it SHALL ignore the TagInventoryStateAwareSingulationAction field.

<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 20948 of file ltkcpp.h.

Member Function Documentation

void LLRP::CC1G2SingulationControl::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::CC1G2SingulationControl::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::CC1G2SingulationControl::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: