Doxygen generated by local qwen3-coder-next

This commit is contained in:
2026-02-28 18:32:00 +03:00
parent 0878891cd8
commit 6ed7befa47
12 changed files with 1696 additions and 487 deletions

View File

@@ -1,9 +1,15 @@
/*! \file piobject.h
* \ingroup Core
* \~\brief
* \~english Base object
* \~russian Базовый класс
*/
//! \addtogroup Core
//! \{
//! \file piobject.h
//! \brief
//! \~english Base object class providing event -> handler mechanism
//! \~russian Базовый класс объектов, обеспечивающий механизм событий -> обработчиков
//! \details
//! \~english PIObject is the base class for all PIP classes that need event-driven communication.
//! It provides signal-slot mechanism, property system, and object lifetime management.
//! \~russian PIObject является базовым классом для всех классов PIP, которым необходима событийная коммуникация.
//! Он обеспечивает механизм сигналов-слотов, систему свойств и управление жизненным циклом объектов.
//! \~
/*
PIP - Platform Independent Primitives
Object, base class of some PIP classes, provide EVENT -> EVENT_HANDLER mechanism
@@ -34,10 +40,8 @@
#include "pivariant.h"
#include "pivariantsimple.h"
//! \ingroup Core
//! \~\brief
//! \~english This is base class for any classes which use events -> handlers mechanism.
//! \~russian Этот класс является базовым для использования механизма события -> обработчики.
//! \~english Base class for classes using event -> handler mechanism
//! \~russian Базовый класс для классов, использующих механизм событий -> обработчиков
class PIP_EXPORT PIObject {
#ifndef MICRO_PIP
friend class PIObjectManager;
@@ -50,7 +54,7 @@ class PIP_EXPORT PIObject {
public:
NO_COPY_CLASS(PIObject);
//! \~english Contructs %PIObject with name "name"
//! \~english Constructs %PIObject with name "name"
//! \~russian Создает %PIObject с именем "name"
explicit PIObject(const PIString & name = PIString());
@@ -93,7 +97,7 @@ public:
int args_count;
public:
//! \~english Contructs invalid %Connection
//! \~english Constructs invalid %Connection
//! \~russian Создает недействительный %Connection
Connection();
@@ -179,15 +183,27 @@ public:
//! \~russian Возвращает является ли объект потокобезопасным
bool isThreadSafe() const { return thread_safe_; }
//! \~english Executes method with specified arguments
//! \~russian Выполняет метод с указанными аргументами
bool execute(const PIString & method, const PIVector<PIVariantSimple> & vl);
//! \~english Executes method without arguments
//! \~russian Выполняет метод без аргументов
bool execute(const PIString & method) { return execute(method, PIVector<PIVariantSimple>()); }
//! \~english Executes method with one argument
//! \~russian Выполняет метод с одним аргументом
bool execute(const PIString & method, const PIVariantSimple & v0) { return execute(method, PIVector<PIVariantSimple>() << v0); }
//! \~english Executes method with two arguments
//! \~russian Выполняет метод с двумя аргументами
bool execute(const PIString & method, const PIVariantSimple & v0, const PIVariantSimple & v1) {
return execute(method, PIVector<PIVariantSimple>() << v0 << v1);
}
//! \~english Executes method with three arguments
//! \~russian Выполняет метод с тремя аргументами
bool execute(const PIString & method, const PIVariantSimple & v0, const PIVariantSimple & v1, const PIVariantSimple & v2) {
return execute(method, PIVector<PIVariantSimple>() << v0 << v1 << v2);
}
//! \~english Executes method with four arguments
//! \~russian Выполняет метод с четырьмя аргументами
bool execute(const PIString & method,
const PIVariantSimple & v0,
const PIVariantSimple & v1,
@@ -196,16 +212,26 @@ public:
return execute(method, PIVector<PIVariantSimple>() << v0 << v1 << v2 << v3);
}
//! \~english Executes method queued with performer
//! \~russian Выполняет метод в очереди с исполнителем
bool executeQueued(PIObject * performer, const PIString & method, const PIVector<PIVariantSimple> & vl);
//! \~english Executes method without arguments queued with performer
//! \~russian Выполняет метод без аргументов в очереди с исполнителем
bool executeQueued(PIObject * performer, const PIString & method) {
return executeQueued(performer, method, PIVector<PIVariantSimple>());
}
//! \~english Executes method with one argument queued with performer
//! \~russian Выполняет метод с одним аргументом в очереди с исполнителем
bool executeQueued(PIObject * performer, const PIString & method, const PIVariantSimple & v0) {
return executeQueued(performer, method, PIVector<PIVariantSimple>() << v0);
}
//! \~english Executes method with two arguments queued with performer
//! \~russian Выполняет метод с двумя аргументами в очереди с исполнителем
bool executeQueued(PIObject * performer, const PIString & method, const PIVariantSimple & v0, const PIVariantSimple & v1) {
return executeQueued(performer, method, PIVector<PIVariantSimple>() << v0 << v1);
}
//! \~english Executes method with three arguments queued with performer
//! \~russian Выполняет метод с тремя аргументами в очереди с исполнителем
bool executeQueued(PIObject * performer,
const PIString & method,
const PIVariantSimple & v0,
@@ -213,6 +239,8 @@ public:
const PIVariantSimple & v2) {
return executeQueued(performer, method, PIVector<PIVariantSimple>() << v0 << v1 << v2);
}
//! \~english Executes method with four arguments queued with performer
//! \~russian Выполняет метод с четырьмя аргументами в очереди с исполнителем
bool executeQueued(PIObject * performer,
const PIString & method,
const PIVariantSimple & v0,
@@ -222,18 +250,30 @@ public:
return executeQueued(performer, method, PIVector<PIVariantSimple>() << v0 << v1 << v2 << v3);
}
//! \~english Executes method on object with specified arguments
//! \~russian Выполняет метод на объекте с указанными аргументами
static bool execute(PIObject * o, const PIString & method, const PIVector<PIVariantSimple> & vl) { return o->execute(method, vl); }
//! \~english Executes method on object without arguments
//! \~russian Выполняет метод на объекте без аргументов
static bool execute(PIObject * o, const PIString & method) { return execute(o, method, PIVector<PIVariantSimple>()); }
//! \~english Executes method on object with one argument
//! \~russian Выполняет метод на объекте с одним аргументом
static bool execute(PIObject * o, const PIString & method, const PIVariantSimple & v0) {
return execute(o, method, PIVector<PIVariantSimple>() << v0);
}
//! \~english Executes method on object with two arguments
//! \~russian Выполняет метод на объекте с двумя аргументами
static bool execute(PIObject * o, const PIString & method, const PIVariantSimple & v0, const PIVariantSimple & v1) {
return execute(o, method, PIVector<PIVariantSimple>() << v0 << v1);
}
//! \~english Executes method on object with three arguments
//! \~russian Выполняет метод на объекте с тремя аргументами
static bool
execute(PIObject * o, const PIString & method, const PIVariantSimple & v0, const PIVariantSimple & v1, const PIVariantSimple & v2) {
return execute(o, method, PIVector<PIVariantSimple>() << v0 << v1 << v2);
}
//! \~english Executes method on object with four arguments
//! \~russian Выполняет метод на объекте с четырьмя аргументами
static bool execute(PIObject * o,
const PIString & method,
const PIVariantSimple & v0,
@@ -243,19 +283,29 @@ public:
return execute(o, method, PIVector<PIVariantSimple>() << v0 << v1 << v2 << v3);
}
//! \~english Executes method on object queued with performer
//! \~russian Выполняет метод на объекте в очереди с исполнителем
static bool executeQueued(PIObject * o, PIObject * performer, const PIString & method, const PIVector<PIVariantSimple> & vl) {
return o->executeQueued(performer, method, vl);
}
//! \~english Executes method on object without arguments queued with performer
//! \~russian Выполняет метод на объекте без аргументов в очереди с исполнителем
static bool executeQueued(PIObject * o, PIObject * performer, const PIString & method) {
return executeQueued(o, performer, method, PIVector<PIVariantSimple>());
}
//! \~english Executes method on object with one argument queued with performer
//! \~russian Выполняет метод на объекте с одним аргументом в очереди с исполнителем
static bool executeQueued(PIObject * o, PIObject * performer, const PIString & method, const PIVariantSimple & v0) {
return executeQueued(o, performer, method, PIVector<PIVariantSimple>() << v0);
}
//! \~english Executes method on object with two arguments queued with performer
//! \~russian Выполняет метод на объекте с двумя аргументами в очереди с исполнителем
static bool
executeQueued(PIObject * o, PIObject * performer, const PIString & method, const PIVariantSimple & v0, const PIVariantSimple & v1) {
return executeQueued(o, performer, method, PIVector<PIVariantSimple>() << v0 << v1);
}
//! \~english Executes method on object with three arguments queued with performer
//! \~russian Выполняет метод на объекте с тремя аргументами в очереди с исполнителем
static bool executeQueued(PIObject * o,
PIObject * performer,
const PIString & method,
@@ -264,6 +314,8 @@ public:
const PIVariantSimple & v2) {
return executeQueued(o, performer, method, PIVector<PIVariantSimple>() << v0 << v1 << v2);
}
//! \~english Executes method on object with four arguments queued with performer
//! \~russian Выполняет метод на объекте с четырьмя аргументами в очереди с исполнителем
static bool executeQueued(PIObject * o,
PIObject * performer,
const PIString & method,
@@ -274,6 +326,8 @@ public:
return executeQueued(o, performer, method, PIVector<PIVariantSimple>() << v0 << v1 << v2 << v3);
}
//! \~english Dumps object information
//! \~russian Выводит информацию об объекте
void dump(const PIString & line_prefix = PIString()) const;