WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
warptwin::ConfigurationWriter Class Referenceabstract

Write out script from UX to execute using set toolchain. Base class for override. More...

#include <ConfigurationWriter.h>

Inheritance diagram for warptwin::ConfigurationWriter:

Public Member Functions

 ConfigurationWriter ()
virtual ~ConfigurationWriter ()
void file (const std::string &filename)
 Set the file for write and redirect output to that file.
std::string file ()
void eventLogger (EventLogger *logger_ptr)
 Set the event logger instance for error logging.
void watchNode (ImNode *target)
 Add a node to the ConfigurationWriter for tracking.
void unwatchNode (ImNode *target)
 Remove a node from the ConfigurationWriter for tracking.
virtual void write ()
 Write watched node data to file.
virtual std::future< int > build ()=0
 Write and build the resulting file.
std::future< int > run ()
 Write, build, and run the resulting file.
int post ()
 Run post-processing as applicable.

Protected Member Functions

virtual void _setNodeConnectionSequence ()
 Set the sequence of nodes for creation and write paired connections.
virtual void _decomposeNodeInformation ()
 Decompose all relevant strings from the provided node and connection information.
virtual void _writeOutputStart ()
 Write the start of the file.
virtual void _writeDataValue (ImNode *node)
 Write the creation of a single node, given by node.
virtual void _writeDataConnection (Connection *upstream, Connection *downstream)
 Write the connection of one "Connection" to another.
virtual void _writeLogData ()
 Write all logged data to file.
virtual void _writeOutputEnd ()
 Write the end of the file output.

Protected Attributes

AutoDoc_autodoc_ptr
EventLogger_logger_ptr
std::vector< ImNode * > _watched_nodes
std::vector< ImNode * > _sequenced_nodes
std::vector< std::pair< Connection *, Connection * > > _paired_connections
std::string _filename = "gui_config_file.py"

Detailed Description

Write out script from UX to execute using set toolchain. Base class for override.

Constructor & Destructor Documentation

◆ ConfigurationWriter()

warptwin::ConfigurationWriter::ConfigurationWriter ( )
inline

◆ ~ConfigurationWriter()

virtual warptwin::ConfigurationWriter::~ConfigurationWriter ( )
inlinevirtual

Member Function Documentation

◆ _decomposeNodeInformation()

virtual void warptwin::ConfigurationWriter::_decomposeNodeInformation ( )
inlineprotectedvirtual

Decompose all relevant strings from the provided node and connection information.

Reimplemented in warptwin::WarpTwinPyConfigWriter.

◆ _setNodeConnectionSequence()

virtual void warptwin::ConfigurationWriter::_setNodeConnectionSequence ( )
inlineprotectedvirtual

Set the sequence of nodes for creation and write paired connections.

Reimplemented in warptwin::WarpTwinPyConfigWriter.

◆ _writeDataConnection()

virtual void warptwin::ConfigurationWriter::_writeDataConnection ( Connection * upstream,
Connection * downstream )
inlineprotectedvirtual

Write the connection of one "Connection" to another.

Parameters
upstreamThe data output connection (typically, but not always an output) to connect
downstreamThe data input connection (typically, but not always an input) to connect

Reimplemented in warptwin::WarpTwinPyConfigWriter.

◆ _writeDataValue()

virtual void warptwin::ConfigurationWriter::_writeDataValue ( ImNode * node)
inlineprotectedvirtual

Write the creation of a single node, given by node.

Parameters
nodeThe node to write to file

Reimplemented in warptwin::WarpTwinPyConfigWriter.

◆ _writeLogData()

virtual void warptwin::ConfigurationWriter::_writeLogData ( )
inlineprotectedvirtual

Write all logged data to file.

Reimplemented in warptwin::WarpTwinPyConfigWriter.

◆ _writeOutputEnd()

virtual void warptwin::ConfigurationWriter::_writeOutputEnd ( )
inlineprotectedvirtual

Write the end of the file output.

Reimplemented in warptwin::WarpTwinPyConfigWriter.

◆ _writeOutputStart()

virtual void warptwin::ConfigurationWriter::_writeOutputStart ( )
inlineprotectedvirtual

Write the start of the file.

Reimplemented in warptwin::WarpTwinPyConfigWriter.

◆ build()

virtual std::future< int > warptwin::ConfigurationWriter::build ( )
pure virtual

Write and build the resulting file.

Returns
Exit code from building the generated file

Implemented in warptwin::WarpTwinPyConfigWriter.

◆ eventLogger()

void warptwin::ConfigurationWriter::eventLogger ( EventLogger * logger_ptr)
inline

Set the event logger instance for error logging.

Parameters
logger_ptrPointer to the event logger instance

◆ file() [1/2]

std::string warptwin::ConfigurationWriter::file ( )
inline

◆ file() [2/2]

void warptwin::ConfigurationWriter::file ( const std::string & filename)
inline

Set the file for write and redirect output to that file.

Parameters
filenameThe filename to write to
Returns
0 on success, 1 on failure
Note
Calling this function will cause the ConfigurationWriter class to begin writing its data to the provided file

◆ post()

int warptwin::ConfigurationWriter::post ( )
inline

Run post-processing as applicable.

◆ run()

std::future< int > warptwin::ConfigurationWriter::run ( )
inline

Write, build, and run the resulting file.

Returns
Exit code from running the generated file

◆ unwatchNode()

void warptwin::ConfigurationWriter::unwatchNode ( ImNode * target)

Remove a node from the ConfigurationWriter for tracking.

Parameters
targetThe node to remove from tracking
Note
Will ignore node if its unique ID is not tracked

◆ watchNode()

void warptwin::ConfigurationWriter::watchNode ( ImNode * target)

Add a node to the ConfigurationWriter for tracking.

Parameters
targetThe node to add to tracking
Note
Will ignore node if its unique ID is already tracked

◆ write()

void warptwin::ConfigurationWriter::write ( )
virtual

Write watched node data to file.

Member Data Documentation

◆ _autodoc_ptr

AutoDoc* warptwin::ConfigurationWriter::_autodoc_ptr
protected

◆ _filename

std::string warptwin::ConfigurationWriter::_filename = "gui_config_file.py"
protected

◆ _logger_ptr

EventLogger* warptwin::ConfigurationWriter::_logger_ptr
protected

◆ _paired_connections

std::vector<std::pair<Connection*, Connection*> > warptwin::ConfigurationWriter::_paired_connections
protected

◆ _sequenced_nodes

std::vector<ImNode*> warptwin::ConfigurationWriter::_sequenced_nodes
protected

◆ _watched_nodes

std::vector<ImNode*> warptwin::ConfigurationWriter::_watched_nodes
protected

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