Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
JParserValFact Struct Reference

Detailed Description

JParserValFact is the JVal JSON parser factory class.

An instance of this class is connected to an instance of the JParser. The JParser communicates with the JVal factory when parsing JSON, and the JVal factory creates JVal objects.

Method getFirstVal returns the first value in the syntax tree.

The class automatically manages the nodes allocated. The allocated nodes are automatically de-allocated when the destructor runs. You can manage the values by calling JParserValFact::manageFirstVal or by calling JVal::manageJ on any of the children.

See also
JValFact
JDecoder

#include <JVal.h>

Inheritance diagram for JParserValFact:

Public Member Functions

 JParserValFact (AllocatorIntf *vAlloc, AllocatorIntf *dAlloc)
 Initialize a factory without allocating a tree. More...
 
 ~JParserValFact ()
 Free the attached root and all factory stack storage. More...
 
JVal * getFirstVal ()
 
JVal * manageFirstVal ()
 Detach the current root and reset the node counter when a root exists. More...
 
void termFirstVal ()
 Free the attached tree and factory stack, preparing for another document. More...
 
- Public Member Functions inherited from JParserIntf
 JParserIntf (JParserIntf_Service s)
 Create the callback interface object. More...
 
int serviceCB (JParserVal *v, int recLevel)
 Calling the JParserIntf service function is typically performed in a design using a chained parser callback interface. More...
 

Public Attributes

U32 maxNodes
 Node-count threshold, initially U32 maximum. More...
 
JParserValFactStat status
 Factory status, initially OK; parse failures may set it. More...
 

Member Data Documentation

◆ maxNodes

U32 JParserValFact::maxNodes

Node-count threshold, initially U32 maximum.

Allocation is refused when the incremented count reaches this value; it is an exclusive limit.

◆ status

JParserValFactStat JParserValFact::status

Factory status, initially OK; parse failures may set it.

Terminating or detaching the root does not clear this field.