UniSet @VERSION@
Классы | Открытые члены | Открытые статические члены | Статические открытые данные | Полный список членов класса
Класс uniset::UniSetUno

UniSetUno - Combined application running multiple extensions in single process. Подробнее...

#include <UniSetUno.h>

Открытые члены

bool init (int argc, const char *const *argv, const std::string &appName="")
 
void run ()
 
void stop ()
 
std::shared_ptr< SharedMemorygetSharedMemory () const
 
std::shared_ptr< UniSetObjectgetExtension (const std::string &name) const
 
std::vector< std::string > getExtensionNames () const
 
bool isRunning () const
 
std::shared_ptr< DebugStreamlog ()
 

Открытые статические члены

static void help_print (int argc, const char *const *argv, const std::string &extName="")
 
static bool help_extension (int argc, const char *const *argv, const std::string &extType)
 
static std::vector< std::string > parseArgsString (const std::string &argsStr)
 
static std::vector< std::string > collectExtensionArgs (const std::shared_ptr< UniXML > &xml, const std::string &appName)
 

Статические открытые данные

static constexpr const char * EXT_SHARED_MEMORY = "SharedMemory"
 
static constexpr const char * EXT_UNET_EXCHANGE = "UNetExchange"
 
static constexpr const char * EXT_MBTCP_MASTER = "MBTCPMaster"
 
static constexpr const char * EXT_MBTCP_MULTIMASTER = "MBTCPMultiMaster"
 
static constexpr const char * EXT_MB_SLAVE = "MBSlave"
 
static constexpr const char * EXT_RTU_EXCHANGE = "RTUExchange"
 
static constexpr const char * EXT_OPCUA_SERVER = "OPCUAServer"
 
static constexpr const char * EXT_OPCUA_EXCHANGE = "OPCUAExchange"
 
static constexpr const char * EXT_IO_CONTROL = "IOControl"
 
static constexpr const char * EXT_LOGIC_PROCESSOR = "LogicProcessor"
 
static constexpr const char * EXT_MQTT_PUBLISHER = "MQTTPublisher"
 
static constexpr const char * EXT_WEBSOCKET_GATE = "UWebSocketGate"
 
static constexpr const char * EXT_BACKEND_CLICKHOUSE = "BackendClickHouse"
 
static constexpr const char * EXT_DBSERVER_POSTGRESQL = "DBServerPostgreSQL"
 

Подробное описание

UniSetUno - Combined application running multiple extensions in single process.

Runs SharedMemory and multiple extensions (UNetExchange, MBTCPMaster, etc.) in a single process, sharing memory through direct pointers instead of CORBA.

Benefits:

XML Configuration:

<UniSetUno name="MyApp" logfile="uno.log">
<extensions>
<extension type="SharedMemory" name="SharedMemory"/>
<extension type="UNetExchange" name="UNetExchange1" prefix="unet"/>
<extension type="MBTCPMaster" name="MBTCPMaster1" prefix="mbtcp"/>
<extension type="MBTCPMultiMaster" name="MBMulti1" prefix="mbtcp"/>
<extension type="MBSlave" name="MBSlave1" prefix="mbs"/>
<extension type="RTUExchange" name="RTU1" prefix="rs"/>
<extension type="OPCUAServer" name="OPCUAServer1" prefix="opcua"/>
<extension type="OPCUAExchange" name="OPCUAExchange1" prefix="opcua"/>
<extension type="IOControl" name="IOControl1" prefix="io"/>
<extension type="LogicProcessor" name="LProc1" prefix="lproc"/>
</extensions>
UniSetUno - Combined application running multiple extensions in single process.
Definition UniSetUno.h:55

Методы

◆ collectExtensionArgs()

std::vector< std::string > uniset::UniSetUno::collectExtensionArgs ( const std::shared_ptr< UniXML > &  xml,
const std::string &  appName 
)
static

Collect args from all extensions in UniSetUno configuration. Used for pre-loading args before uniset_init().

Аргументы
xmlLoaded XML configuration
appNameUniSetUno section name (empty = first found)
Возвращает
Vector of all collected arguments

◆ getExtension()

std::shared_ptr< UniSetObject > uniset::UniSetUno::getExtension ( const std::string &  name) const

Get extension by name

◆ getExtensionNames()

std::vector< std::string > uniset::UniSetUno::getExtensionNames ( ) const

Get all extension names

◆ getSharedMemory()

std::shared_ptr< SharedMemory > uniset::UniSetUno::getSharedMemory ( ) const

Get SharedMemory instance

◆ help_extension()

bool uniset::UniSetUno::help_extension ( int  argc,
const char *const *  argv,
const std::string &  extType 
)
static

Print help for specific extension by type name

Возвращает
true if extension was found

◆ help_print()

void uniset::UniSetUno::help_print ( int  argc,
const char *const *  argv,
const std::string &  extName = "" 
)
static

Print help for UniSetUno and optionally for extensions

Аргументы
argcCommand line argument count
argvCommand line arguments
extNameIf empty, print help for all extensions. If specified, print help for that extension only.

◆ init()

bool uniset::UniSetUno::init ( int  argc,
const char *const *  argv,
const std::string &  appName = "" 
)

Initialize from command line and XML configuration

Аргументы
argcCommand line argument count
argvCommand line arguments
appNameName of UniSetApp section in config (default: first found)
Возвращает
true if initialization succeeded

◆ isRunning()

bool uniset::UniSetUno::isRunning ( ) const

Check if all extensions are running

◆ log()

std::shared_ptr< DebugStream > uniset::UniSetUno::log ( )

Get log stream

◆ parseArgsString()

std::vector< std::string > uniset::UniSetUno::parseArgsString ( const std::string &  argsStr)
static

Parse command-line arguments string into vector. Handles quoted strings (single and double quotes).

Аргументы
argsStrString with space-separated arguments
Возвращает
Vector of individual arguments

◆ run()

void uniset::UniSetUno::run ( )

Run the application (blocking) Activates all extensions and runs the ORB

◆ stop()

void uniset::UniSetUno::stop ( )

Stop the application