more ai generated doc with human review

This commit is contained in:
2026-02-28 12:29:00 +03:00
parent 077f12c9e5
commit 0878891cd8
86 changed files with 2215 additions and 637 deletions

View File

@@ -88,42 +88,55 @@
# define __PIP_PLUGIN_STATIC_MERGE_FUNC__ pip_merge_static
# define __PIP_PLUGIN_LOADER_VERSION__ 2
# define PIP_PLUGIN_SET_USER_VERSION(v) \
STATIC_INITIALIZER_BEGIN \
PIPluginInfo * pi = PIPluginInfoStorage::instance()->currentInfo(); \
if (pi) pi->setUserVersion(v); \
STATIC_INITIALIZER_END
# define PIP_PLUGIN_SET_USER_VERSION(v) \
STATIC_INITIALIZER_BEGIN \
PIPluginInfo * pi = PIPluginInfoStorage::instance()->currentInfo(); \
if (pi) pi->setUserVersion(v); \
STATIC_INITIALIZER_END
# define PIP_PLUGIN_ADD_STATIC_SECTION(type, ptr) \
STATIC_INITIALIZER_BEGIN \
PIPluginInfo * pi = PIPluginInfoStorage::instance()->currentInfo(); \
if (pi) pi->setStaticSection(type, ptr); \
STATIC_INITIALIZER_END
# define PIP_PLUGIN_ADD_STATIC_SECTION(type, ptr) \
STATIC_INITIALIZER_BEGIN \
PIPluginInfo * pi = PIPluginInfoStorage::instance()->currentInfo(); \
if (pi) pi->setStaticSection(type, ptr); \
STATIC_INITIALIZER_END
# define PIP_PLUGIN \
extern "C" { \
PIP_PLUGIN_EXPORT int __PIP_PLUGIN_LOADER_VERSION_FUNC__() { \
return __PIP_PLUGIN_LOADER_VERSION__; \
} \
}
# define PIP_PLUGIN \
extern "C" { \
PIP_PLUGIN_EXPORT int __PIP_PLUGIN_LOADER_VERSION_FUNC__() { return __PIP_PLUGIN_LOADER_VERSION__; } \
}
# define PIP_PLUGIN_STATIC_SECTION_MERGE \
extern "C" { \
PIP_PLUGIN_EXPORT void __PIP_PLUGIN_STATIC_MERGE_FUNC__(int type, void * from, void * to); \
} \
void __PIP_PLUGIN_STATIC_MERGE_FUNC__(int type, void * from, void * to)
# define PIP_PLUGIN_STATIC_SECTION_MERGE \
extern "C" { \
PIP_PLUGIN_EXPORT void __PIP_PLUGIN_STATIC_MERGE_FUNC__(int type, void * from, void * to); \
} \
void __PIP_PLUGIN_STATIC_MERGE_FUNC__(int type, void * from, void * to)
# endif
//! \~english Plugin information
//! \~russian Информация о плагине
class PIP_EXPORT PIPluginInfo {
public:
//! \~english Constructs empty plugin info
//! \~russian Создает пустую информацию о плагине
PIPluginInfo();
//! \~english Sets user version
//! \~russian Устанавливает пользовательскую версию
void setUserVersion(const PIString & v);
//! \~english Sets static section pointer
//! \~russian Устанавливает указатель статической секции
void setStaticSection(int type, void * ptr);
//! \~english Returns user version
//! \~russian Возвращает пользовательскую версию
PIString userVersion() const;
//! \~english Returns all static sections
//! \~russian Возвращает все статические секции
PIMap<int, void *> staticSections() const;
private:
@@ -132,16 +145,36 @@ private:
};
//! \~english Plugin info storage
//! \~russian Хранилище информации о плагинах
class PIP_EXPORT PIPluginInfoStorage {
public:
//! \~english Constructs storage
//! \~russian Создает хранилище
PIPluginInfoStorage();
//! \~english Returns current plugin info
//! \~russian Возвращает информацию о текущем плагине
PIPluginInfo * currentInfo();
//! \~english Returns plugin info by pointer
//! \~russian Возвращает информацию о плагине по указателю
PIPluginInfo * pluginInfo(void * p);
//! \~english Returns application plugin info
//! \~russian Возвращает информацию о приложении
PIPluginInfo * applicationInfo();
//! \~english Enters plugin context
//! \~russian Входит в контекст плагина
PIPluginInfo * enterPlugin(void * p);
//! \~english Unloads plugin
//! \~russian Выгружает плагин
void unloadPlugin(void * p);
//! \~english Returns singleton instance
//! \~russian Возвращает синглтон
static PIPluginInfoStorage * instance();
private:
@@ -223,6 +256,8 @@ public:
//! \~russian Вызывает у плагина \a PIP_PLUGIN_STATIC_SECTION_MERGE
void mergeStatic();
//! \~english Returns directories where plugins can be located
//! \~russian Возвращает директории где могут располагаться плагины
static PIStringList pluginsDirectories(const PIString & name);
private: