diff --git a/doc/examples/picli.cpp b/doc/examples/picli.cpp
index 2a7998f6..6286754c 100644
--- a/doc/examples/picli.cpp
+++ b/doc/examples/picli.cpp
@@ -1,25 +1,6 @@
#include "pip.h"
//! [main]
-int main(int argc, char ** argv) {
- PICLI cli(argc, argv);
- cli.addArgument("console");
- cli.addArgument("debug");
- cli.addArgument("Value", "v", "value", true);
- if (cli.hasArgument("console"))
- piCout << "console active";
- if (cli.hasArgument("debug"))
- piCout << "debug active";
- piCout << "Value =" << cli.argumentValue("Value");
- return 0;
-}
-
-These executions are similar:
-a.out -cd -v 10
-a.out --value 10 -dc
-a.out -c -v 10 -d
-a.out --console -d -v 10
-a.out --debug -c --value 10
//! [main]
void _() {
diff --git a/libs/main/cloud/picloudbase.h b/libs/main/cloud/picloudbase.h
index 170a3d89..76262390 100644
--- a/libs/main/cloud/picloudbase.h
+++ b/libs/main/cloud/picloudbase.h
@@ -1,6 +1,9 @@
/*! \file picloudbase.h
- * \brief PICloud Base - Base class for PICloudClient and PICloud Server
-*/
+ * \ingroup Cloud
+ * \~\brief
+ * \~english Base class for PICloudClient and PICloudServer
+ * \~russian Базовый класс для PICloudClient и PICloudServer
+ */
/*
PIP - Platform Independent Primitives
PICloud Base - Base class for PICloudClient and PICloud Server
diff --git a/libs/main/cloud/picloudclient.h b/libs/main/cloud/picloudclient.h
index 1fc4e4bb..ba21e1b1 100644
--- a/libs/main/cloud/picloudclient.h
+++ b/libs/main/cloud/picloudclient.h
@@ -1,6 +1,9 @@
/*! \file picloudclient.h
- * \brief PICloud Client
-*/
+ * \ingroup Cloud
+ * \~\brief
+ * \~english PICloud Client
+ * \~russian Клиент PICloud
+ */
/*
PIP - Platform Independent Primitives
PICloud Client
diff --git a/libs/main/cloud/picloudmodule.h b/libs/main/cloud/picloudmodule.h
index f357f7bc..4d245270 100644
--- a/libs/main/cloud/picloudmodule.h
+++ b/libs/main/cloud/picloudmodule.h
@@ -16,6 +16,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Cloud
+//! \~\brief
+//! \~english Cloud transport over ethernet
+//! \~russian Облачный транспорт через ethernet
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP::Cloud)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides server-side and client-side of PICloud transport.
+//!
+//! \~russian
+//! Эти файлы обеспечивают серверную и клиентскую сторону транспорта PICloud.
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PICLOUDMODULE_H
#define PICLOUDMODULE_H
diff --git a/libs/main/cloud/picloudserver.h b/libs/main/cloud/picloudserver.h
index 4b614966..029177cf 100644
--- a/libs/main/cloud/picloudserver.h
+++ b/libs/main/cloud/picloudserver.h
@@ -1,6 +1,9 @@
/*! \file picloudserver.h
- * \brief PICloud Server
-*/
+ * \ingroup Cloud
+ * \~\brief
+ * \~english PICloud Server
+ * \~russian Сервер PICloud
+ */
/*
PIP - Platform Independent Primitives
PICloud Server
diff --git a/libs/main/cloud/picloudtcp.h b/libs/main/cloud/picloudtcp.h
index 31ac9408..decb0727 100644
--- a/libs/main/cloud/picloudtcp.h
+++ b/libs/main/cloud/picloudtcp.h
@@ -1,6 +1,9 @@
/*! \file picloudtcp.h
- * \brief PICloud TCP transport
-*/
+ * \ingroup Cloud
+ * \~\brief
+ * \~english PICloud TCP transport
+ * \~russian TCP слой PICloud
+ */
/*
PIP - Platform Independent Primitives
PICloud TCP transport
diff --git a/libs/main/code/picodeinfo.h b/libs/main/code/picodeinfo.h
index 75cd0309..8329983e 100644
--- a/libs/main/code/picodeinfo.h
+++ b/libs/main/code/picodeinfo.h
@@ -1,6 +1,9 @@
/*! \file picodeinfo.h
- * \brief C++ code info structs
-*/
+ * \ingroup Code
+ * \~\brief
+ * \~english C++ code info structs
+ * \~russian Структуры для C++ кода
+ */
/*
PIP - Platform Independent Primitives
C++ code info structs
diff --git a/libs/main/code/picodemodule.h b/libs/main/code/picodemodule.h
index 9a58c46a..191f8bf1 100644
--- a/libs/main/code/picodemodule.h
+++ b/libs/main/code/picodemodule.h
@@ -16,6 +16,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Code
+//! \~\brief
+//! \~english C++ code parsing
+//! \~russian Разбор C++ кода
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides parsing C++ code and storage to use results of \a pip_cmg utility.
+//!
+//! \~russian
+//! Эти файлы обеспечивают разбор C++ кода и хранение результатов работы утилиты \a pip_cmg.
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PICODEMODULE_H
#define PICODEMODULE_H
diff --git a/libs/main/code/picodeparser.h b/libs/main/code/picodeparser.h
index 716dda9a..f2813bc6 100644
--- a/libs/main/code/picodeparser.h
+++ b/libs/main/code/picodeparser.h
@@ -1,6 +1,9 @@
/*! \file picodeparser.h
- * \brief C++ code parser
-*/
+ * \ingroup Code
+ * \~\brief
+ * \~english C++ code parser
+ * \~russian Разбор C++ кода
+ */
/*
PIP - Platform Independent Primitives
C++ code parser
diff --git a/libs/main/compress/picompress.h b/libs/main/compress/picompress.h
index e0ada4d0..cc45c206 100644
--- a/libs/main/compress/picompress.h
+++ b/libs/main/compress/picompress.h
@@ -1,6 +1,10 @@
/*! \file picompress.h
- * \brief Compress class using zlib
-*/
+ * \brief
+ * \ingroup Compress
+ * \~\brief
+ * \~english Compress class zlib
+ * \~russian Сжатие с помощью zlib
+ */
/*
PIP - Platform Independent Primitives
Compress class using zlib
@@ -19,6 +23,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Compress
+//! \~\brief
+//! \~english Compression support
+//! \~russian Поддержка сжатия
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP::Compress)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides simple compression and decompression support.
+//!
+//! \~russian
+//! Эти файлы обеспечивают простое сжатие и распакову.
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PICOMPRESS_H
#define PICOMPRESS_H
@@ -26,8 +61,16 @@
#include "pip_compress_export.h"
#include "pibytearray.h"
+//! \~english Compress "ba" with compression level "level", return empty %PIByteArray if no compression supports
+//! \~russian Сжимает "ba" с уровнем сжатия "level", возвращает пустой %PIByteArray если нет поддержки
+//! \~\ingroup Compress
+//! \~\details
PIP_COMPRESS_EXPORT PIByteArray piCompress(const PIByteArray & ba, int level = 6);
+//! \~english Decompress "zba", return empty %PIByteArray if no compression supports
+//! \~russian Распаковывает "zba", возвращает пустой %PIByteArray если нет поддержки
+//! \~\ingroup Compress
+//! \~\details
PIP_COMPRESS_EXPORT PIByteArray piDecompress(const PIByteArray & zba);
#endif // PICOMPRESS_H
diff --git a/libs/main/console/piconsolemodule.h b/libs/main/console/piconsolemodule.h
index a266884c..f5328893 100644
--- a/libs/main/console/piconsolemodule.h
+++ b/libs/main/console/piconsolemodule.h
@@ -16,6 +16,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Console
+//! \~\brief
+//! \~english Console graphic
+//! \~russian Графика в консоли
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP::Console)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides grab keyboard from console, simple tiling manager and virtual terminal.
+//!
+//! \~russian
+//! Эти файлы обеспечивают захват клавиатуры в консоли, простой тайловый менеджер и виртуальный терминал.
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PICONSOLEMODULE_H
#define PICONSOLEMODULE_H
diff --git a/libs/main/console/pikbdlistener.h b/libs/main/console/pikbdlistener.h
index 4bc1c4d0..9ce0373f 100644
--- a/libs/main/console/pikbdlistener.h
+++ b/libs/main/console/pikbdlistener.h
@@ -1,6 +1,9 @@
/*! \file pikbdlistener.h
- * \brief Keyboard console input listener
-*/
+ * \ingroup Console
+ * \~\brief
+ * \~english Keyboard console input listener
+ * \~russian Консольный захват клавиатуры
+ */
/*
PIP - Platform Independent Primitives
Keyboard grabber for console
diff --git a/libs/main/console/piscreen.h b/libs/main/console/piscreen.h
index 34439e1b..0d356a85 100644
--- a/libs/main/console/piscreen.h
+++ b/libs/main/console/piscreen.h
@@ -1,6 +1,9 @@
/*! \file piscreen.h
- * \brief Console GUI class
-*/
+ * \ingroup Console
+ * \~\brief
+ * \~english Console tiling manager
+ * \~russian Консольный тайловый менеджер
+ */
/*
PIP - Platform Independent Primitives
Console GUI
diff --git a/libs/main/console/piscreenconsole.h b/libs/main/console/piscreenconsole.h
index cd45ba73..c650358d 100644
--- a/libs/main/console/piscreenconsole.h
+++ b/libs/main/console/piscreenconsole.h
@@ -1,8 +1,9 @@
/*! \file piscreenconsole.h
- * \brief Tile for PIScreen with PIConsole API
- *
- * This file declares TileVars
-*/
+ * \ingroup Console
+ * \~\brief
+ * \~english Tile for PIScreen with PIConsole API
+ * \~russian Тайл для PIScreen с API PIConsole
+ */
/*
PIP - Platform Independent Primitives
Tile for PIScreen with PIConsole API
diff --git a/libs/main/console/piscreendrawer.h b/libs/main/console/piscreendrawer.h
index 6a118adb..0928305b 100644
--- a/libs/main/console/piscreendrawer.h
+++ b/libs/main/console/piscreendrawer.h
@@ -1,6 +1,9 @@
/*! \file piscreendrawer.h
- * \brief Drawer for PIScreen
-*/
+ * \ingroup Console
+ * \~\brief
+ * \~english Drawer for PIScreen
+ * \~russian Отрисовщик для PIScreen
+ */
/*
PIP - Platform Independent Primitives
Drawer for PIScreen
diff --git a/libs/main/console/piscreentile.h b/libs/main/console/piscreentile.h
index 28e7dcd7..04fecbba 100644
--- a/libs/main/console/piscreentile.h
+++ b/libs/main/console/piscreentile.h
@@ -1,6 +1,9 @@
/*! \file piscreentile.h
- * \brief Basic PIScreen tile
-*/
+ * \ingroup Console
+ * \~\brief
+ * \~english Basic PIScreen tile
+ * \~russian Базовый тайл для PIScreen
+ */
/*
PIP - Platform Independent Primitives
Basic PIScreen tile
diff --git a/libs/main/console/piscreentiles.h b/libs/main/console/piscreentiles.h
index 34815d9f..8f9cdbdc 100644
--- a/libs/main/console/piscreentiles.h
+++ b/libs/main/console/piscreentiles.h
@@ -1,6 +1,9 @@
/*! \file piscreentiles.h
- * \brief Various tiles for PIScreen
-*/
+ * \ingroup Console
+ * \~\brief
+ * \~english Various tiles for PIScreen
+ * \~russian Различные тайлы для PIScreen
+ */
/*
PIP - Platform Independent Primitives
Various tiles for PIScreen
diff --git a/libs/main/console/piscreentypes.h b/libs/main/console/piscreentypes.h
index 0409cd0d..6a6b4288 100644
--- a/libs/main/console/piscreentypes.h
+++ b/libs/main/console/piscreentypes.h
@@ -1,6 +1,9 @@
/*! \file piscreentypes.h
- * \brief Types for PIScreen
-*/
+ * \ingroup Console
+ * \~\brief
+ * \~english Types for PIScreen
+ * \~russian Типы для PIScreen
+ */
/*
PIP - Platform Independent Primitives
Types for PIScreen
diff --git a/libs/main/console/piterminal.h b/libs/main/console/piterminal.h
index b519d6bd..86956d6a 100644
--- a/libs/main/console/piterminal.h
+++ b/libs/main/console/piterminal.h
@@ -1,6 +1,9 @@
/*! \file piterminal.h
- * \brief Virtual terminal
-*/
+ * \ingroup Console
+ * \~\brief
+ * \~english Virtual terminal
+ * \~russian Виртуальный терминал
+ */
/*
PIP - Platform Independent Primitives
Virtual terminal
diff --git a/libs/main/containers/picontainersmodule.h b/libs/main/containers/picontainersmodule.h
index 0d159704..22bcd355 100644
--- a/libs/main/containers/picontainersmodule.h
+++ b/libs/main/containers/picontainersmodule.h
@@ -18,10 +18,22 @@
*/
//! \defgroup Containers
//! \~\brief
-//! \~english This module contains various standart containers realization.
-//! \~russian Модуль содержит основные классы контейнеров.
+//! \~english Various standart containers realization
+//! \~russian Различные классы контейнеров
+//!
//! \~\details
-//! \~english This includes:
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \~\code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \section containers_module_list Content
+//! \~russian \section containers_module_list Состав
+//!
+//! \~english
//! Class | Description
//! ------------- | -----------
//! \a PIVector | Linear array, fast back insert
@@ -33,7 +45,7 @@
//! \a PIPair | Pair
//! \a PIVector2D | Linear 2D rectangle array
//!
-//! \~russian В него входят:
+//! \~russian
//! Класс | Описание
//! ------------- | -----------
//! \a PIVector | Линейный массив, быстрое добавление в конец
@@ -46,16 +58,6 @@
//! \a PIVector2D | Линейный двумерный прямоугольный массив
//!
//!
-//! \~english \section cmake_build_containers Building with CMake
-//! Use the `find_package()` command to locate PIP package:
-//! \~russian \section cmake_build_containers Сборка с использованием CMake
-//! Используйте команду `find_package()` для подключения PIP в CMake:
-//! \~\code
-//! find_package(PIP REQUIRED)
-//! target_link_libraries(${PROJECT_NAME} PIP)
-//! \endcode
-//!
-//!
//! \~english \section stl_iterators STL-Style Iterators
//! \~russian \section stl_iterators Итераторы в стиле STL
//! \~english
diff --git a/libs/main/core/picli.cpp b/libs/main/core/picli.cpp
index 3c85c040..e7d6ecf9 100644
--- a/libs/main/core/picli.cpp
+++ b/libs/main/core/picli.cpp
@@ -44,7 +44,27 @@
//!
//! \~english \section PICLI_sec1 Example
//! \~russian \section PICLI_sec0 Пример
-//! \~\snippet picli.cpp main
+//! \~\code
+//! int main(int argc, char ** argv) {
+//! PICLI cli(argc, argv);
+//! cli.addArgument("console");
+//! cli.addArgument("debug");
+//! cli.addArgument("Value", "v", "value", true);
+//! if (cli.hasArgument("console"))
+//! piCout << "console active";
+//! if (cli.hasArgument("debug"))
+//! piCout << "debug active";
+//! piCout << "Value =" << cli.argumentValue("Value");
+//! return 0;
+//! }
+//!
+//! These executions are similar:
+//! a.out -cd -v 10
+//! a.out --value 10 -dc
+//! a.out -c -v 10 -d
+//! a.out --console -d -v 10
+//! a.out --debug -c --value 10
+//! \endcode
//!
//! /}
diff --git a/libs/main/core/picoremodule.h b/libs/main/core/picoremodule.h
index 9ee6bcd5..11720326 100644
--- a/libs/main/core/picoremodule.h
+++ b/libs/main/core/picoremodule.h
@@ -16,31 +16,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-/** \defgroup Core
- * \~\brief
- * \~english This module contains basic functionality.
- * \~russian Модуль обеспечивает базовую функциональность.
- *
- * \~\details
- * Scope | Use
- * ----- | -------
- * C++ | #include
- * CMake | PIP
- *
- * \~english
- * These files provides platform abstraction, useful macros, methods and classes
- *
- * \~russian
- * Эти файлы обеспечивают абстракцию операционной системы, полезные макросы, методы и классы
- *
- * \~\authors
- * \~english
- * Ivan Pelipenko peri4ko@yandex.ru;
- * Andrey Bychkov work.a.b@yandex.ru;
- * \~russian
- * Иван Пелипенко peri4ko@yandex.ru;
- * Андрей Бычков work.a.b@yandex.ru;
-*/
+//! \defgroup Core
+//! \~\brief
+//! \~english Basic functionality.
+//! \~russian Базовая функциональность.
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides platform abstraction, useful macros, methods and classes
+//!
+//! \~russian
+//! Эти файлы обеспечивают абстракцию операционной системы, полезные макросы, методы и классы
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PICOREMODULE_H
#define PICOREMODULE_H
diff --git a/libs/main/crypt/piauth.h b/libs/main/crypt/piauth.h
index 427b9dad..23105f2c 100644
--- a/libs/main/crypt/piauth.h
+++ b/libs/main/crypt/piauth.h
@@ -1,6 +1,9 @@
/*! \file piauth.h
- * \brief PIP Authentication API
-*/
+ * \ingroup Crypt
+ * \~\brief
+ * \~english Authentication API
+ * \~russian API аутентификации
+ */
/*
PIP - Platform Independent Primitives
PIP Authentication API
diff --git a/libs/main/crypt/picrypt.h b/libs/main/crypt/picrypt.h
index 32846a09..06471724 100644
--- a/libs/main/crypt/picrypt.h
+++ b/libs/main/crypt/picrypt.h
@@ -1,6 +1,9 @@
/*! \file picrypt.h
- * \brief Cryptographic class using lib Sodium
-*/
+ * \ingroup Crypt
+ * \~\brief
+ * \~english Cryptographic using libsodium
+ * \~russian Шифрование с помощью libsodium
+ */
/*
PIP - Platform Independent Primitives
Cryptographic class using lib Sodium
diff --git a/libs/main/crypt/picryptmodule.h b/libs/main/crypt/picryptmodule.h
index 51946c76..09c8b8be 100644
--- a/libs/main/crypt/picryptmodule.h
+++ b/libs/main/crypt/picryptmodule.h
@@ -16,6 +16,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Crypt
+//! \~\brief
+//! \~english Cryptographic support
+//! \~russian Поддержка шифрования
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP::Crypt)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides basic and symmetric cryptographic support via [libsodium](https://doc.libsodium.org/).
+//!
+//! \~russian
+//! Эти файлы обеспечивают базовое и симметричное шифрование с помощью [libsodium](https://doc.libsodium.org/).
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PICRYPTMODULE_H
#define PICRYPTMODULE_H
diff --git a/libs/main/geo/piellipsoidmodel.h b/libs/main/geo/piellipsoidmodel.h
index c9c2f621..3512f0e9 100644
--- a/libs/main/geo/piellipsoidmodel.h
+++ b/libs/main/geo/piellipsoidmodel.h
@@ -1,6 +1,9 @@
/*! \file piellipsoidmodel.h
- * \brief Contains geo ellipsoid models
-*/
+ * \ingroup Geo
+ * \~\brief
+ * \~english Geographical ellipsoid Earth models
+ * \~russian Географическая эллипсоидная модель Земли
+ */
/*
PIP - Platform Independent Primitives
Contains geo ellipsoid models
diff --git a/libs/main/geo/pigeomodule.h b/libs/main/geo/pigeomodule.h
index 688ff81a..75fecb69 100644
--- a/libs/main/geo/pigeomodule.h
+++ b/libs/main/geo/pigeomodule.h
@@ -16,6 +16,39 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Geo
+//! \~\brief
+//! \~english Geographical position and Earth models
+//! \~russian Географическая позиция и модели Земли
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides geographical position, several Earth models and converting
+//! from one model to another.
+//!
+//! \~russian
+//! Эти файлы обеспечивают географическую позицию, несколько моделей Земли и
+//! преобразования из одной модели в другую.
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PIGEOMODULE_H
#define PIGEOMODULE_H
diff --git a/libs/main/geo/pigeoposition.h b/libs/main/geo/pigeoposition.h
index bb301198..cd8ddcce 100644
--- a/libs/main/geo/pigeoposition.h
+++ b/libs/main/geo/pigeoposition.h
@@ -1,6 +1,9 @@
/*! \file pigeoposition.h
- * \brief Class for geo position storage and conversions
-*/
+ * \ingroup Geo
+ * \~\brief
+ * \~english Class for geo position storage and conversions
+ * \~russian Класс для хранения географической позиции и преобразований
+ */
/*
PIP - Platform Independent Primitives
Class for geo position storage and conversions
diff --git a/libs/main/introspection/piintrospection_base.h b/libs/main/introspection/piintrospection_base.h
index 0b1063f0..ff5bb7ba 100644
--- a/libs/main/introspection/piintrospection_base.h
+++ b/libs/main/introspection/piintrospection_base.h
@@ -16,6 +16,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Introspection
+//! \~\brief
+//! \~english Internal PIP introspection
+//! \~russian Внутренняя интроспекция PIP
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides gathering and sending internal PIP statistics.
+//!
+//! \~russian
+//! Эти файлы обеспечивают сбор и отправку внутренних статистик PIP.
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PIINTROSPECTION_BASE_H
#define PIINTROSPECTION_BASE_H
diff --git a/libs/main/io_devices/pibinarylog.h b/libs/main/io_devices/pibinarylog.h
index e3adea53..3e799ab2 100644
--- a/libs/main/io_devices/pibinarylog.h
+++ b/libs/main/io_devices/pibinarylog.h
@@ -1,6 +1,9 @@
/*! \file pibinarylog.h
- * \brief Binary log
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Binary log
+ * \~russian Бинарный лог
+ */
/*
PIP - Platform Independent Primitives
Class for write binary data to logfile, and read or playback this data
diff --git a/libs/main/io_devices/pican.h b/libs/main/io_devices/pican.h
index 11f2bb06..1b7d5a59 100644
--- a/libs/main/io_devices/pican.h
+++ b/libs/main/io_devices/pican.h
@@ -1,6 +1,9 @@
/*! \file pican.h
- * \brief CAN device
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english CAN device
+ * \~russian Устройство CAN
+ */
/*
PIP - Platform Independent Primitives
CAN
diff --git a/libs/main/io_devices/piconfig.h b/libs/main/io_devices/piconfig.h
index c6027ffc..d5095446 100644
--- a/libs/main/io_devices/piconfig.h
+++ b/libs/main/io_devices/piconfig.h
@@ -1,6 +1,9 @@
/*! \file piconfig.h
- * \brief Configuration parser and writer
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Configuration files parser and writer
+ * \~russian Разбор и запись конфигурационных файлов
+ */
/*
PIP - Platform Independent Primitives
Configuration parser and writer
@@ -330,7 +333,7 @@ public:
bool open(const PIString & path, PIIODevice::DeviceMode mode = PIIODevice::ReadWrite);
//! Read configuration string "string" in mode "mode"
- bool open(PIString * string, PIIODevice::DeviceMode mode = PIIODevice::ReadWrite);\
+ bool open(PIString * string, PIIODevice::DeviceMode mode = PIIODevice::ReadWrite);
bool isOpened() const;
diff --git a/libs/main/io_devices/pidir.h b/libs/main/io_devices/pidir.h
index 4873b252..e65b6057 100644
--- a/libs/main/io_devices/pidir.h
+++ b/libs/main/io_devices/pidir.h
@@ -1,6 +1,9 @@
/*! \file pidir.h
- * \brief Local directory
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Local directory
+ * \~russian Локальная директория
+ */
/*
PIP - Platform Independent Primitives
Directory
diff --git a/libs/main/io_devices/piethernet.h b/libs/main/io_devices/piethernet.h
index ebacf5be..0287cbbe 100644
--- a/libs/main/io_devices/piethernet.h
+++ b/libs/main/io_devices/piethernet.h
@@ -1,6 +1,9 @@
/*! \file piethernet.h
- * \brief Ethernet device
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Ethernet device
+ * \~russian Устройство Ethernet
+ */
/*
PIP - Platform Independent Primitives
Ethernet, UDP/TCP Broadcast/Multicast
diff --git a/libs/main/io_devices/pifile.h b/libs/main/io_devices/pifile.h
index 67317959..3d2e7463 100644
--- a/libs/main/io_devices/pifile.h
+++ b/libs/main/io_devices/pifile.h
@@ -1,6 +1,9 @@
/*! \file pifile.h
- * \brief Local file
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Local file
+ * \~russian Локальный файл
+ */
/*
PIP - Platform Independent Primitives
File
diff --git a/libs/main/io_devices/pigpio.h b/libs/main/io_devices/pigpio.h
index ed566206..5be18ab5 100644
--- a/libs/main/io_devices/pigpio.h
+++ b/libs/main/io_devices/pigpio.h
@@ -1,5 +1,8 @@
/*! \file pigpio.h
- * \brief GPIO
+ * \ingroup IO
+ * \~\brief
+ * \~english GPIO
+ * \~russian GPIO
*/
/*
PIP - Platform Independent Primitives
diff --git a/libs/main/io_devices/piiobytearray.h b/libs/main/io_devices/piiobytearray.h
index 57bec2e4..1921b5d0 100644
--- a/libs/main/io_devices/piiobytearray.h
+++ b/libs/main/io_devices/piiobytearray.h
@@ -1,6 +1,9 @@
/*! \file piiobytearray.h
- * \brief PIIODevice wrapper around PIByteArray
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english PIIODevice wrapper around PIByteArray
+ * \~russian Обертка PIIODevice вокруг PIByteArray
+ */
/*
PIP - Platform Independent Primitives
PIIODevice wrapper around PIByteArray
diff --git a/libs/main/io_devices/piiodevice.cpp b/libs/main/io_devices/piiodevice.cpp
index 4a6a921a..0589cf29 100644
--- a/libs/main/io_devices/piiodevice.cpp
+++ b/libs/main/io_devices/piiodevice.cpp
@@ -23,95 +23,101 @@
#include "pipropertystorage.h"
-/*! \class PIIODevice
- * \brief Base class for input/output classes
- *
- * \section PIIODevice_sec0 Synopsis
- * This class provide open/close logic, threaded read/write and virtual input/output
- * functions \a read() and \a write(). You should implement pure virtual
- * function \a openDevice() in your subclass.
- *
- * \section PIIODevice_sec1 Open and close
- * PIIODevice have boolean variable indicated open status. Returns of functions
- * \a openDevice() and \a closeDevice() change this variable.
- *
- * \section PIIODevice_sec2 Threaded read
- * PIIODevice based on PIThread, so it`s overload \a run() to exec \a read()
- * in background thread. If read is successful virtual function \a threadedRead()
- * is executed. Default implementation of this function execute external static
- * function set by \a setThreadedReadSlot() with data set by \a setThreadedReadData().
- * Extrenal static function should have format \n
- * bool func_name(void * Threaded_read_data, uchar * readed_data, int readed_size)\n
- * Threaded read starts with function \a startThreadedRead().
- *
- * \section PIIODevice_sec3 Threaded write
- * PIIODevice aggregate another PIThread to perform a threaded write by function
- * \a writeThreaded(). This function add task to internal queue and return
- * queue entry ID. You should start write thread by function \a startThreadedWrite.
- * On successful write event \a threadedWriteEvent is raised with two arguments -
- * task ID and written bytes count.
- *
- * \section PIIODevice_sec4 Internal buffer
- * PIIODevice have internal buffer for threaded read, and \a threadedRead() function
- * receive pointer to this buffer in first argument. You can adjust size of this buffer
- * by function \a setThreadedReadBufferSize() \n
- * Default size of this buffer is 4096 bytes.
- *
- * \section PIIODevice_sec5 Reopen
- * When threaded read is begin its call \a open() if device is closed. While threaded
- * read running PIIODevice check if device opened every read and if not call \a open()
- * every reopen timeout if reopen enabled. Reopen timeout is set by \a setReopenTimeout(),
- * reopen enable is set by \a setReopenEnabled().
- *
- * \section PIIODevice_sec6 Configuration
- * This is virtual function \a configureDevice() which executes when \a configure()
- * executes. This function takes two arguments: "e_main" and "e_parent" as void*. There
- * are pointers to PIConfig::Entry entries of section "section" and their parent. If
- * there is no parent "e_parent" = 0. Function \a configure() set three parameters of
- * device: "reopenEnabled", "reopenTimeout" and "threadedReadBufferSize", then execute
- * function \a configureDevice().
- * \n Each ancestor of %PIIODevice reimlements \a configureDevice() function to be able
- * to be confured from configuration file. This parameters described at section
- * "Configurable parameters" in the class reference. \n Usage example:
- * \snippet piiodevice.cpp configure
- * Implementation example:
- * \snippet piiodevice.cpp configureDevice
- *
- * \section PIIODevice_sec7 Creating devices by unambiguous string
- * There are some virtual functions to describe child class without its declaration.
- * \n \a fullPathPrefix() should returns unique prefix of device
- * \n \a constructFullPath() should returns full unambiguous string, contains prefix and all device parameters
- * \n \a configureFromFullPath() provide configuring device from full unambiguous string without prefix and "://"
- * \n Macro PIIODEVICE should be used instead of PIOBJECT
- * \n Macro REGISTER_DEVICE should be used after definition of class, i.e. at the last line of *.cpp file
- * \n \n If custom I/O device corresponds there rules, it can be returned by function \a createFromFullPath().
- * \n Each PIP I/O device has custom unambiguous string description:
- * * PIFile: "file://"
- * * PIBinaryLog: "binlog://[:][:]"
- * * PISerial: "ser://:[:][:][:]"
- * * PIEthernet: UDP "eth://UDP::::[:)>]"
- * * PIEthernet: TCP "eth://TCP::"
- * * PIUSB: "usb://:[:][:][:]"
- * \n \n Examples:
- * * PIFile: "file://../text.txt"
- * * PIBinaryLog: "binlog://../logs/:mylog_:1"
- * * PISerial: "ser:///dev/ttyUSB0:9600:8:N:1", equivalent "ser:///dev/ttyUSB0:9600"
- * * PIEthernet: "eth://TCP:127.0.0.1:16666", "eth://UDP:192.168.0.5:16666:192.168.0.6:16667:mcast:234.0.2.1:mcast:234.0.2.2"
- * * PIUSB: "usb://0bb4:0c86:1:1:2"
- * \n \n
- * So, custom I/O device can be created with next call:
- * \code{cpp}
- * // creatring devices
- * PISerial * ser = (PISerial * )PIIODevice::createFromFullPath("ser://COM1:115200");
- * PIEthernet * eth = (PIEthernet * )PIIODevice::createFromFullPath("eth://UDP:127.0.0.1:4001:127.0.0.1:4002");
- * // examine devices
- * piCout << ser << ser->properties();
- * piCout << eth << eth->properties();
- * \endcode
- *
- * \section PIIODevice_ex0 Example
- * \snippet piiodevice.cpp 0
- */
+//! \addtogroup IO
+//! \{
+//! \class PIIODevice piiodevice.h
+//! \brief
+//! \~english Base class for input/output classes
+//! \~russian Базовый класс утройств ввода/вывода
+//!
+//! \~\details
+//! \section PIIODevice_sec0 Synopsis
+//! This class provide open/close logic, threaded read/write and virtual input/output
+//! functions \a read() and \a write(). You should implement pure virtual
+//! function \a openDevice() in your subclass.
+//!
+//! \section PIIODevice_sec1 Open and close
+//! PIIODevice have boolean variable indicated open status. Returns of functions
+//! \a openDevice() and \a closeDevice() change this variable.
+//!
+//! \section PIIODevice_sec2 Threaded read
+//! PIIODevice based on PIThread, so it`s overload \a run() to exec \a read()
+//! in background thread. If read is successful virtual function \a threadedRead()
+//! is executed. Default implementation of this function execute external static
+//! function set by \a setThreadedReadSlot() with data set by \a setThreadedReadData().
+//! Extrenal static function should have format \n
+//! bool func_name(void * Threaded_read_data, uchar * readed_data, int readed_size)\n
+//! Threaded read starts with function \a startThreadedRead().
+//!
+//! \section PIIODevice_sec3 Threaded write
+//! PIIODevice aggregate another PIThread to perform a threaded write by function
+//! \a writeThreaded(). This function add task to internal queue and return
+//! queue entry ID. You should start write thread by function \a startThreadedWrite.
+//! On successful write event \a threadedWriteEvent is raised with two arguments -
+//! task ID and written bytes count.
+//!
+//! \section PIIODevice_sec4 Internal buffer
+//! PIIODevice have internal buffer for threaded read, and \a threadedRead() function
+//! receive pointer to this buffer in first argument. You can adjust size of this buffer
+//! by function \a setThreadedReadBufferSize() \n
+//! Default size of this buffer is 4096 bytes.
+//!
+//! \section PIIODevice_sec5 Reopen
+//! When threaded read is begin its call \a open() if device is closed. While threaded
+//! read running PIIODevice check if device opened every read and if not call \a open()
+//! every reopen timeout if reopen enabled. Reopen timeout is set by \a setReopenTimeout(),
+//! reopen enable is set by \a setReopenEnabled().
+//!
+//! \section PIIODevice_sec6 Configuration
+//! This is virtual function \a configureDevice() which executes when \a configure()
+//! executes. This function takes two arguments: "e_main" and "e_parent" as void*. There
+//! are pointers to PIConfig::Entry entries of section "section" and their parent. If
+//! there is no parent "e_parent" = 0. Function \a configure() set three parameters of
+//! device: "reopenEnabled", "reopenTimeout" and "threadedReadBufferSize", then execute
+//! function \a configureDevice().
+//! \n Each ancestor of %PIIODevice reimlements \a configureDevice() function to be able
+//! to be confured from configuration file. This parameters described at section
+//! "Configurable parameters" in the class reference. \n Usage example:
+//! \snippet piiodevice.cpp configure
+//! Implementation example:
+//! \snippet piiodevice.cpp configureDevice
+//!
+//! \section PIIODevice_sec7 Creating devices by unambiguous string
+//! There are some virtual functions to describe child class without its declaration.
+//! \n \a fullPathPrefix() should returns unique prefix of device
+//! \n \a constructFullPath() should returns full unambiguous string, contains prefix and all device parameters
+//! \n \a configureFromFullPath() provide configuring device from full unambiguous string without prefix and "://"
+//! \n Macro PIIODEVICE should be used instead of PIOBJECT
+//! \n Macro REGISTER_DEVICE should be used after definition of class, i.e. at the last line of *.cpp file
+//! \n \n If custom I/O device corresponds there rules, it can be returned by function \a createFromFullPath().
+//! \n Each PIP I/O device has custom unambiguous string description:
+//! * PIFile: "file://"
+//! * PIBinaryLog: "binlog://[:][:]"
+//! * PISerial: "ser://:[:][:][:]"
+//! * PIEthernet: UDP "eth://UDP::::[:)>]"
+//! * PIEthernet: TCP "eth://TCP::"
+//! * PIUSB: "usb://:[:][:][:]"
+//! \n \n Examples:
+//! * PIFile: "file://../text.txt"
+//! * PIBinaryLog: "binlog://../logs/:mylog_:1"
+//! * PISerial: "ser:///dev/ttyUSB0:9600:8:N:1", equivalent "ser:///dev/ttyUSB0:9600"
+//! * PIEthernet: "eth://TCP:127.0.0.1:16666", "eth://UDP:192.168.0.5:16666:192.168.0.6:16667:mcast:234.0.2.1:mcast:234.0.2.2"
+//! * PIUSB: "usb://0bb4:0c86:1:1:2"
+//! \n \n
+//! So, custom I/O device can be created with next call:
+//! \code{cpp}
+//! // creatring devices
+//! PISerial * ser = (PISerial * )PIIODevice::createFromFullPath("ser://COM1:115200");
+//! PIEthernet * eth = (PIEthernet * )PIIODevice::createFromFullPath("eth://UDP:127.0.0.1:4001:127.0.0.1:4002");
+//! // examine devices
+//! piCout << ser << ser->properties();
+//! piCout << eth << eth->properties();
+//! \endcode
+//!
+//! \section PIIODevice_ex0 Example
+//! \snippet piiodevice.cpp 0
+//!
+//! \}
PIMutex PIIODevice::nfp_mutex;
diff --git a/libs/main/io_devices/piiodevice.h b/libs/main/io_devices/piiodevice.h
index 6c7319fe..04dfe2d1 100644
--- a/libs/main/io_devices/piiodevice.h
+++ b/libs/main/io_devices/piiodevice.h
@@ -1,6 +1,9 @@
/*! \file piiodevice.h
- * \brief Abstract input/output device
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Abstract input/output device
+ * \~russian Базовый класс утройств ввода/вывода
+ */
/*
PIP - Platform Independent Primitives
Abstract input/output device
diff --git a/libs/main/io_devices/piiodevicesmodule.h b/libs/main/io_devices/piiodevicesmodule.h
index 2a8c3443..ce5b7ec0 100644
--- a/libs/main/io_devices/piiodevicesmodule.h
+++ b/libs/main/io_devices/piiodevicesmodule.h
@@ -16,6 +16,38 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup IO
+//! \~\brief
+//! \~english Input/output devices.
+//! \~russian Устройства ввода/вывода.
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides base IO device, many realizations and utilites to work with %PIIODevice
+//!
+//! \~russian
+//! Эти файлы обеспечивают базовый класс устройства ввода/вывода, много реализаций и утилит
+//! для работы с %PIIODevice
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PIIODEVICESMODULE_H
#define PIIODEVICESMODULE_H
diff --git a/libs/main/io_devices/piiostring.h b/libs/main/io_devices/piiostring.h
index 9301060d..f0a9bd53 100644
--- a/libs/main/io_devices/piiostring.h
+++ b/libs/main/io_devices/piiostring.h
@@ -1,6 +1,9 @@
/*! \file piiostring.h
- * \brief PIIODevice wrapper around PIString
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english PIIODevice wrapper around PIString
+ * \~russian Обертка PIIODevice вокруг PIString
+ */
/*
PIP - Platform Independent Primitives
PIIODevice wrapper around PIString
diff --git a/libs/main/io_devices/pipeer.h b/libs/main/io_devices/pipeer.h
index 41862623..389f36fd 100644
--- a/libs/main/io_devices/pipeer.h
+++ b/libs/main/io_devices/pipeer.h
@@ -1,6 +1,9 @@
/*! \file pipeer.h
- * \brief Peering net node
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Peering net node
+ * \~russian Элемент пиринговой сети
+ */
/*
PIP - Platform Independent Primitives
Peer - named I/O ethernet node, forming self-organized peering network
diff --git a/libs/main/io_devices/piserial.h b/libs/main/io_devices/piserial.h
index f8957a40..d423e83e 100644
--- a/libs/main/io_devices/piserial.h
+++ b/libs/main/io_devices/piserial.h
@@ -1,6 +1,9 @@
/*! \file piserial.h
- * \brief Serial device
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Serial device
+ * \~russian Последовательный порт
+ */
/*
PIP - Platform Independent Primitives
COM
diff --git a/libs/main/io_devices/pisharedmemory.h b/libs/main/io_devices/pisharedmemory.h
index 495739f6..baac7c91 100644
--- a/libs/main/io_devices/pisharedmemory.h
+++ b/libs/main/io_devices/pisharedmemory.h
@@ -1,6 +1,9 @@
/*! \file pisharedmemory.h
- * \brief Shared memory
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Shared memory
+ * \~russian Разделяемая память
+ */
/*
PIP - Platform Independent Primitives
Shared Memory
diff --git a/libs/main/io_devices/pispi.h b/libs/main/io_devices/pispi.h
index 29284a45..c7d3c0f9 100644
--- a/libs/main/io_devices/pispi.h
+++ b/libs/main/io_devices/pispi.h
@@ -1,6 +1,9 @@
/*! \file pispi.h
- * \brief SPI device
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english SPI device
+ * \~russian Устройство SPI
+ */
/*
PIP - Platform Independent Primitives
SPI
diff --git a/libs/main/io_devices/pitransparentdevice.h b/libs/main/io_devices/pitransparentdevice.h
index 4b49eb4b..ad12c7d9 100644
--- a/libs/main/io_devices/pitransparentdevice.h
+++ b/libs/main/io_devices/pitransparentdevice.h
@@ -1,6 +1,9 @@
/*! \file pitransparentdevice.h
- * \brief PIIODevice that pass write to read
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english PIIODevice that pass write to read
+ * \~russian PIIODevice который транслирует запись на чтение
+ */
/*
PIP - Platform Independent Primitives
PIIODevice that pass write to read
diff --git a/libs/main/io_devices/piusb.h b/libs/main/io_devices/piusb.h
index 5ba47d8c..bb04b5bc 100644
--- a/libs/main/io_devices/piusb.h
+++ b/libs/main/io_devices/piusb.h
@@ -1,6 +1,9 @@
/*! \file piusb.h
- * \brief USB device
-*/
+ * \ingroup USB
+ * \~\brief
+ * \~english USB device
+ * \~russian Устройство USB
+ */
/*
PIP - Platform Independent Primitives
USB, based on libusb
@@ -19,6 +22,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup USB
+//! \~\brief
+//! \~english USB support via libusb
+//! \~russian Поддержка USB с помощью libusb
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP::USB)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides works with raw USB device
+//!
+//! \~russian
+//! Эти файлы обеспечивают работу с сырым USB устройством
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PIUSB_H
#define PIUSB_H
diff --git a/libs/main/io_utils/pibasetransfer.h b/libs/main/io_utils/pibasetransfer.h
index 988cdef9..2cadd57f 100644
--- a/libs/main/io_utils/pibasetransfer.h
+++ b/libs/main/io_utils/pibasetransfer.h
@@ -1,6 +1,9 @@
/*! \file pibasetransfer.h
- * \brief Base class for reliable send and receive data in fixed packets with error correction, pause and resume
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Base class for reliable send and receive data in fixed packets with error correction, pause and resume
+ * \~russian Базовый класс для надежного обмена данными с помощью фиксированных пакетов с коррекцией ошибок и паузой
+ */
/*
PIP - Platform Independent Primitives
Base class for reliable send and receive data in fixed packets with error correction, pause and resume
diff --git a/libs/main/io_utils/pibroadcast.h b/libs/main/io_utils/pibroadcast.h
index 67008007..b9ad623b 100644
--- a/libs/main/io_utils/pibroadcast.h
+++ b/libs/main/io_utils/pibroadcast.h
@@ -1,6 +1,9 @@
/*! \file pibroadcast.h
- * \brief Broadcast for all interfaces, including loopback
-*/
+ * \ingroup IO-Utils
+ * \~\brief
+ * \~english Broadcast for all interfaces, including loopback
+ * \~russian Широкое вещание на все интерфейсы, включая loopback
+ */
/*
PIP - Platform Independent Primitives
Broadcast for all interfaces, including loopback
diff --git a/libs/main/io_utils/piconnection.h b/libs/main/io_utils/piconnection.h
index f6be10bd..7b4e4793 100644
--- a/libs/main/io_utils/piconnection.h
+++ b/libs/main/io_utils/piconnection.h
@@ -1,6 +1,10 @@
/*! \file piconnection.h
- * \brief Complex I/O point
-*/
+ * \brief
+ * \ingroup IO-Utils
+ * \~\brief
+ * \~english Complex I/O point
+ * \~russian Составное устройство ввода/вывода
+ */
/*
PIP - Platform Independent Primitives
Complex I/O point
diff --git a/libs/main/io_utils/pidatatransfer.h b/libs/main/io_utils/pidatatransfer.h
index dd8480d7..b24333be 100644
--- a/libs/main/io_utils/pidatatransfer.h
+++ b/libs/main/io_utils/pidatatransfer.h
@@ -1,6 +1,9 @@
/*! \file pidatatransfer.h
- * \brief Class for send and receive PIByteArray via \a PIBaseTransfer
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Class for send and receive PIByteArray via \a PIBaseTransfer
+ * \~russian Класс для отправки и приема PIByteArray с помощью \a PIBaseTransfer
+ */
/*
PIP - Platform Independent Primitives
Class for send and receive PIByteArray via PIBaseTransfer
diff --git a/libs/main/io_utils/pidiagnostics.h b/libs/main/io_utils/pidiagnostics.h
index 71da060a..f1b4ed63 100644
--- a/libs/main/io_utils/pidiagnostics.h
+++ b/libs/main/io_utils/pidiagnostics.h
@@ -1,6 +1,9 @@
/*! \file pidiagnostics.h
- * \brief Connection quality diagnostics
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Connection quality diagnostics
+ * \~russian Диагностика качества связи
+ */
/*
PIP - Platform Independent Primitives
Speed and quality in/out diagnostics
diff --git a/libs/main/io_utils/piethutilbase.h b/libs/main/io_utils/piethutilbase.h
index fc564004..2ca9e78b 100644
--- a/libs/main/io_utils/piethutilbase.h
+++ b/libs/main/io_utils/piethutilbase.h
@@ -1,6 +1,9 @@
/*! \file piethutilbase.h
- * \brief Base class for ethernet utils
-*/
+ * \ingroup IO-Utils
+ * \~\brief
+ * \~english Base class for ethernet utils
+ * \~russian Базовый класс для утилит ethernet
+ */
/*
PIP - Platform Independent Primitives
Base class for ethernet utils
diff --git a/libs/main/io_utils/pifiletransfer.h b/libs/main/io_utils/pifiletransfer.h
index 254454a0..4638e876 100644
--- a/libs/main/io_utils/pifiletransfer.h
+++ b/libs/main/io_utils/pifiletransfer.h
@@ -1,6 +1,9 @@
/*! \file pifiletransfer.h
- * \brief Class for send and receive files and directories via \a PIBaseTransfer
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Class for send and receive files and directories via \a PIBaseTransfer
+ * \~russian Класс для отправки и приема файлов и папок с помощью \a PIBaseTransfer
+ */
/*
PIP - Platform Independent Primitives
Class for send and receive files and directories via PIBaseTransfer
diff --git a/libs/main/io_utils/piioutilsmodule.h b/libs/main/io_utils/piioutilsmodule.h
index 957d7df4..771a6c7a 100644
--- a/libs/main/io_utils/piioutilsmodule.h
+++ b/libs/main/io_utils/piioutilsmodule.h
@@ -16,10 +16,42 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup IO-Utils
+//! \~\brief
+//! \~english Complex channel transport
+//! \~russian Сложный канальный транспорт
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP::IOUtils)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides complex transport over ethernet
+//!
+//! \~russian
+//! Эти файлы обеспечивают сложный транспорт поверх ethernet
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PIIOUTILSMODULE_H
#define PIIOUTILSMODULE_H
+
#include "pibasetransfer.h"
#include "piconnection.h"
#include "pidatatransfer.h"
diff --git a/libs/main/io_utils/pipacketextractor.h b/libs/main/io_utils/pipacketextractor.h
index 52657bf9..15846b9a 100644
--- a/libs/main/io_utils/pipacketextractor.h
+++ b/libs/main/io_utils/pipacketextractor.h
@@ -1,6 +1,9 @@
/*! \file pipacketextractor.h
- * \brief Packets extractor
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Packets extractor
+ * \~russian Извлекатель пакетов
+ */
/*
PIP - Platform Independent Primitives
Packets extractor
diff --git a/libs/main/io_utils/piparsehelper.h b/libs/main/io_utils/piparsehelper.h
index a44eec1a..95199cf1 100644
--- a/libs/main/io_utils/piparsehelper.h
+++ b/libs/main/io_utils/piparsehelper.h
@@ -1,6 +1,9 @@
/*! \file piparsehelper.h
- * \brief Helper class to automate structs receive
-*/
+ * \ingroup IO
+ * \~\brief
+ * \~english Helper class to automate structs receive
+ * \~russian Класс для автоматизации приема структур
+ */
/*
PIP - Platform Independent Primitives
Helper class to automate structs receive
diff --git a/libs/main/io_utils/pistreampacker.h b/libs/main/io_utils/pistreampacker.h
index 834c6cb1..67afc7a7 100644
--- a/libs/main/io_utils/pistreampacker.h
+++ b/libs/main/io_utils/pistreampacker.h
@@ -1,6 +1,9 @@
/*! \file pistreampacker.h
- * \brief Simple packet wrap aroud any PIIODevice
-*/
+ * \ingroup IO-Utils
+ * \~\brief
+ * \~english Simple packet wrap aroud any PIIODevice
+ * \~russian Простая фрагментация пакетов, использует любой PIIODevice
+ */
/*
PIP - Platform Independent Primitives
Simple packet wrap aroud any PIIODevice
diff --git a/libs/main/lua/piluaprogram.h b/libs/main/lua/piluaprogram.h
index 3b2cf5da..f34a49af 100644
--- a/libs/main/lua/piluaprogram.h
+++ b/libs/main/lua/piluaprogram.h
@@ -1,6 +1,9 @@
/*! \file piluaprogram.h
- * \brief Lua Program
-*/
+ * \ingroup Lua
+ * \~\brief
+ * \~english Lua Program
+ * \~russian Программа Lua
+ */
/*
PIP - Platform Independent Primitives
PILuaProgram
diff --git a/libs/main/lua/pip_lua.h b/libs/main/lua/pip_lua.h
index a9b94167..9f5cd700 100644
--- a/libs/main/lua/pip_lua.h
+++ b/libs/main/lua/pip_lua.h
@@ -1,8 +1,9 @@
/*! \file pip_lua.h
- * \brief PIP Lua bindings
- *
- * This file declare conversions for PIP types via LuaBridge
-*/
+ * \ingroup Lua
+ * \~\brief
+ * \~english Conversions between PIP types and LuaBridge
+ * \~russian Преобразования между типами PIP и LuaBridge
+ */
/*
PIP - Platform Independent Primitives
PIP Lua bindings
@@ -21,6 +22,38 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Lua
+//! \~\brief
+//! \~english Lua programs support
+//! \~russian Поддержка программ Lua
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP::Lua)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides execute Lua programs inside C++ code.
+//!
+//! \~russian
+//! Эти файлы обеспечивают возможность выполнения программ Lua внутри C++ кода.
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
+
#ifndef PIP_LUA_H
#define PIP_LUA_H
diff --git a/libs/main/math/picrc.h b/libs/main/math/picrc.h
index e18f9440..267f49ea 100644
--- a/libs/main/math/picrc.h
+++ b/libs/main/math/picrc.h
@@ -1,6 +1,9 @@
/*! \file picrc.h
- * \brief CRC checksum calculator
-*/
+ * \ingroup Math
+ * \~\brief
+ * \~english CRC checksum calculation
+ * \~russian Вычисление CRC контрольной суммы
+ */
/*
PIP - Platform Independent Primitives
CRC checksum calculator
diff --git a/libs/main/math/pievaluator.h b/libs/main/math/pievaluator.h
index bad7ab48..01aadca2 100644
--- a/libs/main/math/pievaluator.h
+++ b/libs/main/math/pievaluator.h
@@ -1,6 +1,9 @@
/*! \file pievaluator.h
- * \brief Mathematic expressions calculator
-*/
+ * \ingroup Math
+ * \~\brief
+ * \~english Mathematic expressions calculator
+ * \~russian Вычислитель математических выражений
+ */
/*
PIP - Platform Independent Primitives
Evaluator designed for stream calculations
diff --git a/libs/main/math/pifft.h b/libs/main/math/pifft.h
index 10428201..0a3c382e 100644
--- a/libs/main/math/pifft.h
+++ b/libs/main/math/pifft.h
@@ -1,6 +1,10 @@
/*! \file pifft.h
- * \brief Class for FFT, IFFT and Hilbert transformations
-*/
+ * \ingroup Math
+ * \ingroup FFTW
+ * \~\brief
+ * \~english FFT, IFFT and Hilbert transformations
+ * \~russian БПФ, ОБПФ и преобразования Гильберта
+ */
/*
PIP - Platform Independent Primitives
Class for FFT, IFFT and Hilbert transformations
@@ -19,6 +23,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup FFTW
+//! \~\brief
+//! \~english Optimized FFT support via libfftw3
+//! \~russian Оптимизированный БПФ с помощью libfftw3
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP::FFTW)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides FFT using [libfftw3](https://fftw.org/)
+//!
+//! \~russian
+//! Эти файлы обеспечивают БПФ с использованием [libfftw3](https://fftw.org/)
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PIFFT_H
#define PIFFT_H
diff --git a/libs/main/math/piline.h b/libs/main/math/piline.h
index e681f40b..ca288af7 100644
--- a/libs/main/math/piline.h
+++ b/libs/main/math/piline.h
@@ -3,13 +3,6 @@
* \brief
* \~english Two-dimensional line class
* \~russian Класс отрезка двумерной линии
- * * \~\authors
- * \~english
- * Ivan Pelipenko peri4ko@yandex.ru;
- * Andrey Bychkov work.a.b@yandex.ru;
- * \~russian
- * Иван Пелипенко peri4ko@yandex.ru;
- * Андрей Бычков work.a.b@yandex.ru;
*/
/*
PIP - Platform Independent Primitives
diff --git a/libs/main/math/pimathbase.h b/libs/main/math/pimathbase.h
index 30f9d605..3cd698c2 100644
--- a/libs/main/math/pimathbase.h
+++ b/libs/main/math/pimathbase.h
@@ -1,15 +1,8 @@
/*! \file pimathbase.h
- * \defgroup Math
- * \brief
+ * \ingroup Math
+ * \~\brief
* \~english Basic mathematical functions and defines
* \~russian Базовые математические функции и дефайны
- * \~\authors
- * \~english
- * Ivan Pelipenko peri4ko@yandex.ru;
- * Andrey Bychkov work.a.b@yandex.ru;
- * \~russian
- * Иван Пелипенко peri4ko@yandex.ru;
- * Андрей Бычков work.a.b@yandex.ru;
*/
/*
PIP - Platform Independent Primitives
diff --git a/libs/main/math/pimathcomplex.h b/libs/main/math/pimathcomplex.h
index cec45505..d6e6885f 100644
--- a/libs/main/math/pimathcomplex.h
+++ b/libs/main/math/pimathcomplex.h
@@ -1,6 +1,9 @@
/*! \file pimathcomplex.h
- * \brief PIP math complex
-*/
+ * \ingroup Math
+ * \~\brief
+ * \~english Complex numbers
+ * \~russian Комплексные числа
+ */
/*
PIP - Platform Independent Primitives
PIP math complex
diff --git a/libs/main/math/pimathmatrix.h b/libs/main/math/pimathmatrix.h
index c149acf6..fc48ae84 100644
--- a/libs/main/math/pimathmatrix.h
+++ b/libs/main/math/pimathmatrix.h
@@ -1,8 +1,9 @@
/*! \file pimathmatrix.h
- * \brief PIMathMatrix
- *
- * This file declare math matrix class, which performs various matrix operations
-*/
+ * \ingroup Math
+ * \~\brief
+ * \~english Math matrix
+ * \~russian Математическая матрица
+ */
/*
PIP - Platform Independent Primitives
PIMathMatrix
diff --git a/libs/main/math/pimathmodule.h b/libs/main/math/pimathmodule.h
index ec0ca259..a711c7ae 100644
--- a/libs/main/math/pimathmodule.h
+++ b/libs/main/math/pimathmodule.h
@@ -16,6 +16,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Math
+//! \~\brief
+//! \~english Basic mathematical functions and defines
+//! \~russian Базовые математические функции и дефайны
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides vectors, matrices, complex numbers, quaternions, FFT and geometry classes
+//!
+//! \~russian
+//! Эти файлы обеспечивают вектора, матрицы, комплексные числа, кватернионы, БПФ и классы геометрических фигур
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PIMATHMODULE_H
#define PIMATHMODULE_H
diff --git a/libs/main/math/pimathvector.h b/libs/main/math/pimathvector.h
index 9a5d0166..bfdf5a1d 100644
--- a/libs/main/math/pimathvector.h
+++ b/libs/main/math/pimathvector.h
@@ -1,6 +1,9 @@
/*! \file pimathvector.h
- * \brief PIMathVector
-*/
+ * \ingroup Math
+ * \~\brief
+ * \~english Math vector
+ * \~russian Математический вектор
+ */
/*
PIP - Platform Independent Primitives
PIMathVector
diff --git a/libs/main/math/pipoint.h b/libs/main/math/pipoint.h
index 5b9634b6..5ab18145 100644
--- a/libs/main/math/pipoint.h
+++ b/libs/main/math/pipoint.h
@@ -3,13 +3,6 @@
//! \brief
//! \~english Two-dimensional point class
//! \~russian Класс двумерной точки
-//! \~\authors
-//! \~english
-//! Ivan Pelipenko peri4ko@yandex.ru;
-//! Andrey Bychkov work.a.b@yandex.ru;
-//! \~russian
-//! Иван Пелипенко peri4ko@yandex.ru;
-//! Андрей Бычков work.a.b@yandex.ru;
/*
PIP - Platform Independent Primitives
Two-dimensional point class
diff --git a/libs/main/math/piquaternion.h b/libs/main/math/piquaternion.h
index 4cfb6f1f..caac4c46 100644
--- a/libs/main/math/piquaternion.h
+++ b/libs/main/math/piquaternion.h
@@ -1,6 +1,9 @@
/*! \file piquaternion.h
- * \brief Class for quaternions
-*/
+ * \ingroup Math
+ * \~\brief
+ * \~english Quaternion
+ * \~russian Кватернион
+ */
/*
PIP - Platform Independent Primitives
Class for quaternions
diff --git a/libs/main/math/pirect.h b/libs/main/math/pirect.h
index 91b78b75..1cbdde4d 100644
--- a/libs/main/math/pirect.h
+++ b/libs/main/math/pirect.h
@@ -3,13 +3,6 @@
//! \brief
//! \~english Rect class
//! \~russian Класс прямоугольника
-//! \~\authors
-//! \~english
-//! Ivan Pelipenko peri4ko@yandex.ru;
-//! Andrey Bychkov work.a.b@yandex.ru;
-//! \~russian
-//! Иван Пелипенко peri4ko@yandex.ru;
-//! Андрей Бычков work.a.b@yandex.ru;
/*
PIP - Platform Independent Primitives
Rect class
diff --git a/libs/main/math/pistatistic.h b/libs/main/math/pistatistic.h
index 8d731842..65bda4c1 100644
--- a/libs/main/math/pistatistic.h
+++ b/libs/main/math/pistatistic.h
@@ -1,6 +1,9 @@
/*! \file pistatistic.h
- * \brief Class for calculating math statistic in values array
-*/
+ * \ingroup Math
+ * \~\brief
+ * \~english Calculating math statistic of values array
+ * \~russian Вычисление математической статистики у массива чисел
+ */
/*
PIP - Platform Independent Primitives
Class for calculacing math statistic in values array
diff --git a/libs/main/opencl/piopencl.h b/libs/main/opencl/piopencl.h
index c8dcb8d0..c9c639b0 100644
--- a/libs/main/opencl/piopencl.h
+++ b/libs/main/opencl/piopencl.h
@@ -1,3 +1,9 @@
+/*! \file piopencl.h
+ * \ingroup OpenCL
+ * \~\brief
+ * \~english OpenCL classes
+ * \~russian Классы OpenCL
+ */
/*
PIP - Platform Independent Primitives
OpenCL wrappers
@@ -16,6 +22,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup OpenCL
+//! \~\brief
+//! \~english OpenCL support
+//! \~russian Поддержка OpenCL
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP::OpenCL)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides OpenCL classes wrap.
+//!
+//! \~russian
+//! Эти файлы обеспечивают классовую обвязку OpenCL.
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PIOPENCL_H
#define PIOPENCL_H
diff --git a/libs/main/resources/piresources.h b/libs/main/resources/piresources.h
index 6fca0431..3a85a093 100644
--- a/libs/main/resources/piresources.h
+++ b/libs/main/resources/piresources.h
@@ -1,6 +1,9 @@
/*! \file piresources.h
- * \brief Resources subsystem
-*/
+ * \ingroup Resources
+ * \~\brief
+ * \~english Resources subsystem
+ * \~russian Подсистема ресурсов
+ */
/*
PIP - Platform Independent Primitives
Resources subsystem
@@ -19,6 +22,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Resources
+//! \~\brief
+//! \~english Resources subsystem
+//! \~russian Подсистема ресурсов
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides support of compiled-in files
+//!
+//! \~russian
+//! Эти файлы обеспечивают поддержку вкомпиленных файлов
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PIRESOURCES_H
#define PIRESOURCES_H
diff --git a/libs/main/system/pilibrary.h b/libs/main/system/pilibrary.h
index e98cdcbc..88158850 100644
--- a/libs/main/system/pilibrary.h
+++ b/libs/main/system/pilibrary.h
@@ -1,6 +1,9 @@
/*! \file pilibrary.h
-* \brief Dynamic library
-*/
+ * \ingroup System
+ * \~\brief
+ * \~english Run-time library
+ * \~russian Run-time библиотека
+ */
/*
PIP - Platform Independent Primitives
Dynamic library
diff --git a/libs/main/system/piplugin.h b/libs/main/system/piplugin.h
index 90f2879f..fcf2794e 100644
--- a/libs/main/system/piplugin.h
+++ b/libs/main/system/piplugin.h
@@ -1,6 +1,9 @@
/*! \file piplugin.h
-* \brief Plugin helpers
-*/
+ * \ingroup System
+ * \~\brief
+ * \~english Plugin control
+ * \~russian Управление плагинами
+ */
/*
PIP - Platform Independent Primitives
Plugin helpers
diff --git a/libs/main/system/piprocess.h b/libs/main/system/piprocess.h
index 96945273..6ab10150 100644
--- a/libs/main/system/piprocess.h
+++ b/libs/main/system/piprocess.h
@@ -1,6 +1,9 @@
/*! \file piprocess.h
-* \brief Process
-*/
+ * \ingroup System
+ * \~\brief
+ * \~english External process
+ * \~russian Внешний процесс
+ */
/*
PIP - Platform Independent Primitives
Process
diff --git a/libs/main/system/pisignals.h b/libs/main/system/pisignals.h
index 7709c355..a7b6408e 100644
--- a/libs/main/system/pisignals.h
+++ b/libs/main/system/pisignals.h
@@ -1,6 +1,9 @@
/*! \file pisignals.h
- * \brief System signals
-*/
+ * \ingroup System
+ * \~\brief
+ * \~english System signals
+ * \~russian Сигналы системы
+ */
/*
PIP - Platform Independent Primitives
Signals
diff --git a/libs/main/system/pisysteminfo.h b/libs/main/system/pisysteminfo.h
index 5de39d5f..9cef5310 100644
--- a/libs/main/system/pisysteminfo.h
+++ b/libs/main/system/pisysteminfo.h
@@ -1,3 +1,9 @@
+/*! \file pisysteminfo.h
+ * \ingroup System
+ * \~\brief
+ * \~english System information
+ * \~russian Информация о системе
+ */
/*
PIP - Platform Independent Primitives
System information
diff --git a/libs/main/system/pisystemmodule.h b/libs/main/system/pisystemmodule.h
index a75662c4..14346797 100644
--- a/libs/main/system/pisystemmodule.h
+++ b/libs/main/system/pisystemmodule.h
@@ -16,6 +16,39 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup System
+//! \~\brief
+//! \~english System information and external executables and libraries support.
+//! \~russian Информация о системе и поддержка внешних процессов и библиотек.
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides system information, resource monitoring, run-time libraries and
+//! control of external executables.
+//!
+//! \~russian
+//! Эти файлы обеспечивают информацию о системе, мониторинг ресурсов, run-time библиотеки
+//! и управление внешними исполняемыми файлами.
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PISYSTEMMODULE_H
#define PISYSTEMMODULE_H
diff --git a/libs/main/system/pisystemmonitor.h b/libs/main/system/pisystemmonitor.h
index a4721e69..a848f4f1 100644
--- a/libs/main/system/pisystemmonitor.h
+++ b/libs/main/system/pisystemmonitor.h
@@ -1,3 +1,9 @@
+/*! \file pisystemmonitor.h
+ * \ingroup System
+ * \~\brief
+ * \~english System resources monitoring
+ * \~russian Мониторинг ресурсов системы
+ */
/*
PIP - Platform Independent Primitives
Process resource monitor
diff --git a/libs/main/thread/piblockingqueue.h b/libs/main/thread/piblockingqueue.h
index 200ebc17..3949c289 100644
--- a/libs/main/thread/piblockingqueue.h
+++ b/libs/main/thread/piblockingqueue.h
@@ -1,3 +1,9 @@
+/*! \file piblockingqueue.h
+ * \ingroup Thread
+ * \~\brief
+ * \~english Queue with blocking
+ * \~russian Блокирующая очередь
+ */
/*
PIP - Platform Independent Primitives
diff --git a/libs/main/thread/piconditionvar.h b/libs/main/thread/piconditionvar.h
index 87aed74a..8b7c42ef 100644
--- a/libs/main/thread/piconditionvar.h
+++ b/libs/main/thread/piconditionvar.h
@@ -1,3 +1,9 @@
+/*! \file piconditionvar.h
+ * \ingroup Thread
+ * \~\brief
+ * \~english Conditional variable
+ * \~russian Conditional variable
+ */
/*
PIP - Platform Independent Primitives
diff --git a/libs/main/thread/pigrabberbase.h b/libs/main/thread/pigrabberbase.h
index a19776aa..4ffed2cc 100644
--- a/libs/main/thread/pigrabberbase.h
+++ b/libs/main/thread/pigrabberbase.h
@@ -1,6 +1,9 @@
/*! \file pigrabberbase.h
- * \brief Abstract class for create grabbers
-*/
+ * \ingroup Thread
+ * \~\brief
+ * \~english Abstract class for create grabbers
+ * \~russian Базовый класс для создания грабберов
+ */
/*
PIP - Platform Independent Primitives
Abstract class for create grabbers
diff --git a/libs/main/thread/pimutex.h b/libs/main/thread/pimutex.h
index af66fa1f..7736a414 100644
--- a/libs/main/thread/pimutex.h
+++ b/libs/main/thread/pimutex.h
@@ -1,6 +1,9 @@
/*! \file pimutex.h
- * \brief PIMutex, PIMutexLocker
-*/
+ * \ingroup Thread
+ * \~\brief
+ * \~english Basic interthread lock
+ * \~russian Базовая межпоточная блокировка
+ */
/*
PIP - Platform Independent Primitives
PIMutex, PIMutexLocker
diff --git a/libs/main/thread/pipipelinethread.h b/libs/main/thread/pipipelinethread.h
index 91321df3..98e233c7 100644
--- a/libs/main/thread/pipipelinethread.h
+++ b/libs/main/thread/pipipelinethread.h
@@ -1,6 +1,9 @@
/*! \file pipipelinethread.h
- * \brief Class for create multihread pipeline
-*/
+ * \ingroup Thread
+ * \~\brief
+ * \~english Class for create multihread pipeline
+ * \~russian Класс для создания многопоточного конвейера
+ */
/*
PIP - Platform Independent Primitives
Class for create multihread pipeline
diff --git a/libs/main/thread/pispinlock.h b/libs/main/thread/pispinlock.h
index 6de315c4..e1bb6f3e 100644
--- a/libs/main/thread/pispinlock.h
+++ b/libs/main/thread/pispinlock.h
@@ -1,6 +1,9 @@
/*! \file pispinlock.h
- * \brief PISpinlock
-*/
+ * \ingroup Thread
+ * \~\brief
+ * \~english Fast and full-load lock
+ * \~russian Быстрая блокировка с полной нагрузкой
+ */
/*
PIP - Platform Independent Primitives
PISpinlock
diff --git a/libs/main/thread/pithread.h b/libs/main/thread/pithread.h
index 9eaa6afa..c842a0d7 100644
--- a/libs/main/thread/pithread.h
+++ b/libs/main/thread/pithread.h
@@ -1,8 +1,9 @@
/*! \file pithread.h
- * \brief Thread
- *
- * This file declare thread class and some wait functions
-*/
+ * \ingroup Thread
+ * \~\brief
+ * \~english Thread class
+ * \~russian Класс потока
+ */
/*
PIP - Platform Independent Primitives
Thread
diff --git a/libs/main/thread/pithreadmodule.h b/libs/main/thread/pithreadmodule.h
index e528c355..bb7649bb 100644
--- a/libs/main/thread/pithreadmodule.h
+++ b/libs/main/thread/pithreadmodule.h
@@ -16,6 +16,37 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
+//! \defgroup Thread
+//! \~\brief
+//! \~english Multithreading support.
+//! \~russian Поддержка многопоточности.
+//!
+//! \~\details
+//! \~english \section cmake_module Building with CMake
+//! \~russian \section cmake_module Сборка с использованием CMake
+//!
+//! \code
+//! find_package(PIP REQUIRED)
+//! target_link_libraries([target] PIP)
+//! \endcode
+//!
+//! \~english \par Common
+//! \~russian \par Общее
+//!
+//! \~english
+//! These files provides thread, timer, blocking and several complex multithreading techniques
+//!
+//! \~russian
+//! Эти файлы обеспечивают потоки, таймера, блокировки и несколько сложных многопоточных техник
+//!
+//! \~\authors
+//! \~english
+//! Ivan Pelipenko peri4ko@yandex.ru;
+//! Andrey Bychkov work.a.b@yandex.ru;
+//! \~russian
+//! Иван Пелипенко peri4ko@yandex.ru;
+//! Андрей Бычков work.a.b@yandex.ru;
+//!
#ifndef PITHREADMODULE_H
#define PITHREADMODULE_H
diff --git a/libs/main/thread/pithreadnotifier.h b/libs/main/thread/pithreadnotifier.h
index 0f13d30b..b1cbd1f6 100644
--- a/libs/main/thread/pithreadnotifier.h
+++ b/libs/main/thread/pithreadnotifier.h
@@ -1,6 +1,9 @@
/*! \file pithreadnotifier.h
- * \brief Class for simply notify and wait in different threads
-*/
+ * \ingroup Thread
+ * \~\brief
+ * \~english Class for simple notify and wait in different threads
+ * \~russian Класс для простого уведомления и ожидания в различных потоках
+ */
/*
PIP - Platform Independent Primitives
Class for simply notify and wait in different threads
diff --git a/libs/main/thread/pithreadpoolloop.h b/libs/main/thread/pithreadpoolloop.h
index 49368caa..e523a064 100644
--- a/libs/main/thread/pithreadpoolloop.h
+++ b/libs/main/thread/pithreadpoolloop.h
@@ -1,8 +1,9 @@
/*! \file pithreadpoolloop.h
- * \brief Thread pool loop
- *
- * This file declare thread class and some wait functions
-*/
+ * \ingroup Thread
+ * \~\brief
+ * \~english Thread pool loop
+ * \~russian Пул потоков
+ */
/*
PIP - Platform Independent Primitives
Thread pool loop
diff --git a/libs/main/thread/pitimer.h b/libs/main/thread/pitimer.h
index 842af062..ee894182 100644
--- a/libs/main/thread/pitimer.h
+++ b/libs/main/thread/pitimer.h
@@ -1,6 +1,9 @@
/*! \file pitimer.h
- * \brief Timer
-*/
+ * \ingroup Thread
+ * \~\brief
+ * \~english Timer
+ * \~russian Таймер
+ */
/*
PIP - Platform Independent Primitives
Timer