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

Class Definition CC1G2InventoryCommand for LLRP parameter C1G2InventoryCommand. More...

#include <ltkcpp.h>

Inheritance diagram for LLRP::CC1G2InventoryCommand:
LLRP::CParameter LLRP::CElement

Public Member Functions

llrp_u1_t getTagInventoryStateAware (void)
 Get accessor functions for the LLRP TagInventoryStateAware field.
 
void setTagInventoryStateAware (llrp_u1_t value)
 Set accessor functions for the LLRP TagInventoryStateAware field.
 
std::list< CC1G2Filter * >
::iterator 
beginC1G2Filter (void)
 Returns the first element of the C1G2Filter sub-parameter list.
 
std::list< CC1G2Filter * >
::iterator 
endC1G2Filter (void)
 Returns the last element of the C1G2Filter sub-parameter list.
 
void clearC1G2Filter (void)
 Clears the LLRP C1G2Filter sub-parameter list.
 
int countC1G2Filter (void)
 Count of the LLRP C1G2Filter sub-parameter list.
 
EResultCode addC1G2Filter (CC1G2Filter *pValue)
 Add a C1G2Filter to the LLRP sub-parameter list.
 
CC1G2RFControlgetC1G2RFControl (void)
 Get accessor functions for the LLRP C1G2RFControl sub-parameter.
 
EResultCode setC1G2RFControl (CC1G2RFControl *pValue)
 Set accessor functions for the LLRP C1G2RFControl sub-parameter.
 
CC1G2SingulationControlgetC1G2SingulationControl (void)
 Get accessor functions for the LLRP C1G2SingulationControl sub-parameter.
 
EResultCode setC1G2SingulationControl (CC1G2SingulationControl *pValue)
 Set accessor functions for the LLRP C1G2SingulationControl sub-parameter.
 
std::list< CParameter * >::iterator beginCustom (void)
 Returns the first element of the Custom sub-parameter list.
 
std::list< CParameter * >::iterator endCustom (void)
 Returns the last element of the Custom sub-parameter list.
 
void clearCustom (void)
 Clears the LLRP Custom sub-parameter list.
 
int countCustom (void)
 Count of the LLRP Custom sub-parameter list.
 
EResultCode addCustom (CParameter *pValue)
 Add a Custom to the LLRP sub-parameter list.
 
- 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_u1_t m_TagInventoryStateAware
 
std::list< CC1G2Filter * > m_listC1G2Filter
 
CC1G2RFControlm_pC1G2RFControl
 
CC1G2SingulationControlm_pC1G2SingulationControl
 
std::list< CParameter * > m_listCustom
 

Internal Framework Functions

static const CFieldDescriptor
*const 
s_apFieldDescriptorTable []
 
static const CTypeDescriptor s_typeDescriptor
 
static const CFieldDescriptor s_fdTagInventoryStateAware
 
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 CC1G2InventoryCommand for LLRP parameter C1G2InventoryCommand.

Document Reference LLRP Specification Section 15.2.1.2.1

Document Reference LLRP Specification Section 16.3.1.2.1

<p>This parameter defines the C1G2 inventory-specific settings to be used during a particular C1G2 inventory operation. This comprises of C1G2Filter Parameter, C1G2RF Parameter and C1G2Singulation Parameter. It is not necessary that the Filter, RF Control and Singulation Control Parameters be specified in each and every inventory command. They are optional parameters. If not specified, the default values in the Reader are used during the inventory operation. If multiple C1G2Filter parameters are encapsulated by the Client in the C1G2InventoryCommand parameter, the ordering of the filter parameters determine the order of C1G2 air-protocol commands (e.g., Select command) generated by the Reader.</p> 


<p>The TagInventoryStateAware flag is used to determine how to process all the C1G2Filter and C1G2Singulation parameters in this command. At a functional level, if the Client is managing the tag states during an inventory operation, it would set that flag to true and pass the appropriate fields in the C1G2 Filter and C1G2 Singulation parameters. If a reader set CanDoTagInventoryStateAwareSingulation to False in LLRPCapabilities (section 9.2.2), it 

SHALL ignore the TagInventoryStateAware flag.

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

Member Function Documentation

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