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

Public Member Functions

 wasp (std::shared_ptr< InterfacePP::jlogger > &logger, const char *input, const char *out="no_output", uint64_t seed=static_cast< uint64_t >(time(nullptr)), bool use_crypto=false)
 
 wasp (std::shared_ptr< InterfacePP::jlogger > &logger, std::string &input, const char *out="no_output", uint64_t seed=static_cast< uint64_t >(time(nullptr)), bool use_crypto=false)
 
 wasp (std::shared_ptr< InterfacePP::jlogger > &logger, std::shared_ptr< tinyxml2::XMLDocument > &input, const char *out="no_output", uint64_t seed=static_cast< uint64_t >(time(nullptr)), bool use_crypto=false)
 
virtual ~wasp ()=default
 W.A.S.P standard deconstructor.
 
std::string to_str ()
 Generate XML output as string.
 
void get (std::shared_ptr< jdata > &data)
 
 wasp ()=delete
 don't use these
 
 wasp (wasp &rhs)=delete
 
 wasp (const wasp &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 XMLComment &comment) override
 Visit a comment 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

◆ wasp() [1/3]

ProtocolPP::wasp::wasp ( std::shared_ptr< InterfacePP::jlogger > &  logger,
const char *  input,
const char *  out = "no_output",
uint64_t  seed = static_cast< uint64_t >(time(nullptr)),
bool  use_crypto = false 
)
explicit

W.A.S.P is an interface to Protocol++® that allows the generation of random descriptors and the ability to drive them into a testbench

Parameters
logger- logger for W.A.S.P messages
input- XML data represented in a character string
out- Filename to write XML output to. If not provided data is written to memory
seed- default seed for random data (set to time, pass in hardware seed)
use_crypto- Use the hardware seeded crypto-secure random number generator instead of Merseene-Twister

◆ wasp() [2/3]

ProtocolPP::wasp::wasp ( std::shared_ptr< InterfacePP::jlogger > &  logger,
std::string &  input,
const char *  out = "no_output",
uint64_t  seed = static_cast< uint64_t >(time(nullptr)),
bool  use_crypto = false 
)
explicit

W.A.S.P is an interface to Protocol++® that allows the generation of random descriptors and the ability to drive them into a testbench

Parameters
logger- logger for W.A.S.P messages
input- Filename of an XML data file to load
out- Filename to write XML output to. If not provided data is written to memory
seed- default seed for random data (set to time, pass in hardware seed)
use_crypto- Use the hardware seeded crypto-secure random number generator instead of Merseene-Twister

◆ wasp() [3/3]

ProtocolPP::wasp::wasp ( std::shared_ptr< InterfacePP::jlogger > &  logger,
std::shared_ptr< tinyxml2::XMLDocument > &  input,
const char *  out = "no_output",
uint64_t  seed = static_cast< uint64_t >(time(nullptr)),
bool  use_crypto = false 
)
explicit

W.A.S.P is an interface to Protocol++® that allows the generation of random descriptors and the ability to drive them into a testbench

Parameters
logger- logger for W.A.S.P messages
input- XML document to load
out- Filename to write XML output to. If not provided data is written to memory
seed- default seed for random data (set to time, pass in hardware seed)
use_crypto- Use the hardware seeded crypto-secure random number generator instead of Merseene-Twister
See also
tinyxml2

Member Function Documentation

◆ get()

void ProtocolPP::wasp::get ( std::shared_ptr< jdata > &  data)

Retrieve the generated JDATA object

Parameters
data- object containing generated flows and packets

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