Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
LogicLibraryInfo Class Reference

#include <LogicLibraryInfo.hpp>

Public Member Functions

 LogicLibraryInfo ()
 
 LogicLibraryInfo (LogicLibraryInfo &&other)=default
 
 LogicLibraryInfo (LogicLibraryInfo const &other)
 
 ~LogicLibraryInfo ()=default
 
LogicLibraryInfooperator= (const LogicLibraryInfo &other)
 
void processLibraryIntermediateMemory (iv::types::logic::logicIntermediateMemory &currentMemory)
 
void setLibIOIntermediateMemoryExternalConnection (iv::logic::ParamId externalParamId, iv::types::logic::logicIntermediateMemory memory)
 
void setParameterUint32Value (iv::logic::ParamId externalParamId, uint32_t uint32Value)
 
void updateExternalParameter (const std::string &value, ELibraryLogicBlockParamConnectedType externalConnectionType, iv::logic::ParamId externalParamId)
 
void updateOnlineParameter (const std::string &value, iv::logic::ParamId externalParamId)
 
void setLibFile (const std::string &libFile)
 
void setLibLogicBlocks (std::map< iv::types::logic::logicExecutionOrder, SLibraryLogicBlock > libFileLogicBlocks)
 
void setLibExternalParameters (std::map< iv::logic::ParamId, SLibraryExternalParameter > libExternalParams)
 
std::string getLibFileName () const
 
std::string getLibFilePath () const
 
const std::map< iv::types::logic::logicExecutionOrder, SLibraryLogicBlock > & getLibLogicBlocks () const
 
const std::map< iv::logic::ParamId, SLibraryExternalParameter > & getLibExternalParameters () const
 
iv::file::xml::node read (const iv::file::xml::node &node)
 
iv::file::xml::node save (iv::file::xml::node &node) const
 
bool matchesStructureOf (const LogicLibraryInfo &logicLibraryInfo) const
 
std::optional< iv::types::errorMessagecheckMatchesStructureOfLibraryFile () const
 

Static Public Member Functions

static ELibraryLogicBlockParamConnectedType enumLibraryLogicBlockParamConnectedType (const std::string &strType)
 
static std::string strLibraryLogicBlockParamConnectedType (ELibraryLogicBlockParamConnectedType enumType)
 

Private Attributes

std::string m_libFileName
 
std::map< iv::types::logic::logicExecutionOrder, SLibraryLogicBlockm_libraryLogicBlocks
 
std::map< iv::logic::ParamId, SLibraryExternalParameterm_libraryExternalParameters
 

Constructor & Destructor Documentation

◆ LogicLibraryInfo() [1/3]

LogicLibraryInfo::LogicLibraryInfo ( )

◆ LogicLibraryInfo() [2/3]

LogicLibraryInfo::LogicLibraryInfo ( LogicLibraryInfo && other)
default

◆ LogicLibraryInfo() [3/3]

LogicLibraryInfo::LogicLibraryInfo ( LogicLibraryInfo const & other)

◆ ~LogicLibraryInfo()

LogicLibraryInfo::~LogicLibraryInfo ( )
default

Member Function Documentation

◆ checkMatchesStructureOfLibraryFile()

std::optional< iv::types::errorMessage > LogicLibraryInfo::checkMatchesStructureOfLibraryFile ( ) const
nodiscard

◆ enumLibraryLogicBlockParamConnectedType()

ELibraryLogicBlockParamConnectedType LogicLibraryInfo::enumLibraryLogicBlockParamConnectedType ( const std::string & strType)
static

◆ getLibExternalParameters()

const std::map< iv::logic::ParamId, SLibraryExternalParameter > & LogicLibraryInfo::getLibExternalParameters ( ) const
nodiscard

◆ getLibFileName()

std::string LogicLibraryInfo::getLibFileName ( ) const
nodiscard

◆ getLibFilePath()

std::string LogicLibraryInfo::getLibFilePath ( ) const
nodiscard

◆ getLibLogicBlocks()

const std::map< iv::types::logic::logicExecutionOrder, SLibraryLogicBlock > & LogicLibraryInfo::getLibLogicBlocks ( ) const
nodiscard

◆ matchesStructureOf()

bool LogicLibraryInfo::matchesStructureOf ( const LogicLibraryInfo & logicLibraryInfo) const
nodiscard

◆ operator=()

LogicLibraryInfo & LogicLibraryInfo::operator= ( const LogicLibraryInfo & other)

◆ processLibraryIntermediateMemory()

void LogicLibraryInfo::processLibraryIntermediateMemory ( iv::types::logic::logicIntermediateMemory & currentMemory)

Process library:

If parameter is output: consume MI, assign it to current parameter and to connected parameter. Increment.
If output is from library: consume MI, assign it to current parameter and inside the library, and to connected parameter.
If output is connected to library: consume MI, process library, assign MI to current parameter, to connected parameter and inside the library.
If connection is Label: if it's in map, use map's MI. Else, consume MI and insert to map.
If connection is Const: get fixed MI. DON'T consume MI.
If connection is LibIO: DON'T consume MI. Leave outside's connection assign its MI.

If parameter is input: check if it's connected. Else, consume MI and assign it to current parameter.

Parameters
currentMemory

◆ read()

iv::file::xml::node LogicLibraryInfo::read ( const iv::file::xml::node & node)

◆ save()

iv::file::xml::node LogicLibraryInfo::save ( iv::file::xml::node & node) const

◆ setLibExternalParameters()

void LogicLibraryInfo::setLibExternalParameters ( std::map< iv::logic::ParamId, SLibraryExternalParameter > libExternalParams)

◆ setLibFile()

void LogicLibraryInfo::setLibFile ( const std::string & libFile)

◆ setLibIOIntermediateMemoryExternalConnection()

void LogicLibraryInfo::setLibIOIntermediateMemoryExternalConnection ( iv::logic::ParamId externalParamId,
iv::types::logic::logicIntermediateMemory memory )

◆ setLibLogicBlocks()

void LogicLibraryInfo::setLibLogicBlocks ( std::map< iv::types::logic::logicExecutionOrder, SLibraryLogicBlock > libFileLogicBlocks)

◆ setParameterUint32Value()

void LogicLibraryInfo::setParameterUint32Value ( iv::logic::ParamId externalParamId,
uint32_t uint32Value )

◆ strLibraryLogicBlockParamConnectedType()

std::string LogicLibraryInfo::strLibraryLogicBlockParamConnectedType ( ELibraryLogicBlockParamConnectedType enumType)
static

◆ updateExternalParameter()

void LogicLibraryInfo::updateExternalParameter ( const std::string & value,
ELibraryLogicBlockParamConnectedType externalConnectionType,
iv::logic::ParamId externalParamId )

◆ updateOnlineParameter()

void LogicLibraryInfo::updateOnlineParameter ( const std::string & value,
iv::logic::ParamId externalParamId )

Member Data Documentation

◆ m_libFileName

std::string LogicLibraryInfo::m_libFileName
private

◆ m_libraryExternalParameters

std::map<iv::logic::ParamId, SLibraryExternalParameter> LogicLibraryInfo::m_libraryExternalParameters
private

◆ m_libraryLogicBlocks

std::map<iv::types::logic::logicExecutionOrder, SLibraryLogicBlock> LogicLibraryInfo::m_libraryLogicBlocks
private

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