Protocol++® (Protocolpp®)  v5.6.2
ProtocolPP::jtestcfg Class Reference
Inheritance diagram for ProtocolPP::jtestcfg:
Collaboration diagram for ProtocolPP::jtestcfg:

Classes

struct  tstcfg
 
struct  tstresp
 

Public Member Functions

 jtestcfg (const char *input, const char *out="no_output")
 
 jtestcfg (std::string &input, const char *out="no_output")
 
 jtestcfg (std::shared_ptr< tinyxml2::XMLDocument > &input, const char *out="no_output")
 
virtual ~jtestcfg ()=default
 jtestcfg standard deconstructor
 
template<typename T >
void set_field (field_t field, T value)
 
template<typename T >
get_field (field_t field)
 
void get (std::shared_ptr< std::map< int, tstcfg >> &cfg)
 Returns the configuration for rings, responders, and threads.
 
void set (std::shared_ptr< std::map< int, tstcfg >> &cfg)
 Updates the configuration for rings, responders, and threads.
 
void to_xml ()
 Generate XML output.
 
void to_json ()
 Generate JSON output.
 
 jtestcfg (jtestcfg &rhs)=delete
 
 jtestcfg (const jtestcfg &rhs)=delete
 
- Public Member Functions inherited from tinyxml2::XMLPrinter
 XMLPrinter (const char *file, bool compact=false, int depth=2)
 
 XMLPrinter (FILE *file=0, bool compact=false, int depth=0)
 
void PushHeader (bool writeBOM, bool writeDeclaration)
 
void OpenElement (const char *name, bool compactMode=false)
 
void PushAttribute (const char *name, const char *value)
 If streaming, add an attribute to an open element.
 
void PushAttribute (const char *name, int value)
 
void PushAttribute (const char *name, ProtocolPP::jarray< uint8_t > value)
 If streaming, add an attribute to an open element. Added for ProtocolPP()
 
void PushAttribute (const char *name, uint8_t value)
 If streaming, add an attribute to an open element. Added for ProtocolPP()
 
void PushAttribute (const char *name, uint16_t value)
 If streaming, add an attribute to an open element. Added for ProtocolPP()
 
void PushAttribute (const char *name, unsigned value)
 
void PushAttribute (const char *name, int64_t value)
 
void PushAttribute (const char *name, uint64_t value)
 
void PushAttribute (const char *name, bool value)
 
void PushAttribute (const char *name, double value)
 
virtual void CloseElement (bool compactMode=false)
 If streaming, close the Element.
 
void PushText (const char *text, bool cdata=false)
 Add a text node.
 
void PushText (int value)
 Add a text node from an integer.
 
void PushText (ProtocolPP::jarray< uint8_t > value)
 Add a text node from an byte array. Added for ProtocolPP()
 
void PushText (uint8_t value)
 Add a text node from an uint8_t. Added for ProtocolPP()
 
void PushText (uint16_t value)
 Add a text node from an uint16_t. Added for ProtocolPP()
 
void PushText (unsigned value)
 Add a text node from an unsigned.
 
void PushText (int64_t value)
 Add a text node from a signed 64bit integer.
 
void PushText (uint64_t value)
 Add a text node from an unsigned 64bit integer.
 
void PushText (bool value)
 Add a text node from a bool.
 
void PushText (float value)
 Add a text node from a float.
 
void PushText (double value)
 Add a text node from a double.
 
void PushComment (const char *comment)
 Add a comment.
 
void PushDeclaration (const char *value)
 
void PushUnknown (const char *value)
 
virtual bool VisitEnter (const XMLDocument &) override
 Visit a document.
 
virtual bool VisitExit (const XMLDocument &) override
 Visit a document.
 
virtual bool Visit (const XMLText &text) override
 Visit a text node.
 
virtual bool Visit (const XMLDeclaration &declaration) override
 Visit a declaration.
 
virtual bool Visit (const XMLUnknown &unknown) override
 Visit an unknown node.
 
const char * CStr () const
 
int CStrSize () const
 
void ClearBuffer (bool resetToFirstElement=true)
 

Additional Inherited Members

- Protected Member Functions inherited from tinyxml2::XMLPrinter
virtual bool CompactMode (const XMLElement &)
 
virtual void PrintSpace (int depth)
 
virtual void Print (const char *format,...)
 
virtual void Write (const char *data, size_t size)
 
virtual void Putc (char ch)
 
void Write (const char *data)
 
void SealElementIfJustOpened ()
 
- Protected Attributes inherited from tinyxml2::XMLPrinter
bool _elementJustOpened
 
DynArray< const char *, 10 > _stack
 

Constructor & Destructor Documentation

◆ jtestcfg() [1/3]

ProtocolPP::jtestcfg::jtestcfg ( const char *  input,
const char *  out = "no_output" 
)

jtestcfg - Parse testbench configuration files

Parameters
input- XML data represented in a character string
out- output file to write to (if desired)

◆ jtestcfg() [2/3]

ProtocolPP::jtestcfg::jtestcfg ( std::string &  input,
const char *  out = "no_output" 
)

jtestcfg - Parse testbench configuration files

Parameters
input- Filename of an XML data file to load
out- output file to write to (if desired)

◆ jtestcfg() [3/3]

ProtocolPP::jtestcfg::jtestcfg ( std::shared_ptr< tinyxml2::XMLDocument > &  input,
const char *  out = "no_output" 
)

jtestcfg - Parse testbench configuration files

Parameters
input- XMLDocument to load
out- output file to write to (if desired)

Member Function Documentation

◆ get_field()

template<typename T >
T ProtocolPP::jtestcfg::get_field ( field_t  field)

Returns the field of the test configuration

TestCfg Get Fields
field typefield nameExample
boolSTDOUTbool stout = get_field<bool>(field_t::STDOUT)
endian_tENDIANendian_t end = get_field<endian_t>(field_t::ENDIAN)
platform_tPLATFORMplatform_t plat = get_field<platform_t>(field_t::PLATFORM)
uint64_tSEEDuint64_t seed = get_field<uint64_t>(field_t::SEED)
uint32_tPTRSIZEuint32_t ptrsize = get_field<uint32_t>(field_t::PTRSIZE)
uint32_tBUFSIZEuint32_t bufsize = get_field<uint32_t>(field_t::BUFSIZE)
uint32_tBUFWIDTHuint32_t bufwidth = get_field<uint32_t>(field_t::BUFWIDTH)
uint32_tBUFNUMuint32_t bufwidth = get_field<uint32_t>(field_t::BUFNUM)
Parameters
field- field to retrieve
Returns
value of field of the test configuration

◆ set_field()

template<typename T >
void ProtocolPP::jtestcfg::set_field ( field_t  field,
value 
)

Allows the user to update the field of the IP security association

TestCfg Set Fields
field typefield nameExample
boolSTDOUTset_field<bool>(field_t::STDOUT, true)
endian_tENDIANset_field<endian_t>(field_t::ENDIAN, endian_t::BIG)
platform_tPLATFORMset_field<platform_t>(field_t::NH, platform_t::WASP)
uint64_tSEEDset_field<uint64_t>(field_t::SEED, 0x0123456789ABCDEF)
uint32_tPTRSIZEset_field<uint32_t>(field_t::PTRSIZE, 8)
uint32_tBUFSIZEset_field<uint32_t>(field_t::BUFSIZE, 128)
uint32_tBUFWIDTHset_field<uint32_t>(field_t::BUFWIDTH, 1)
uint32_tBUFNUMset_field<uint32_t>(field_t::BUFNUM, 16384)
Parameters
field- field to update
value- value to update

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