diff --git a/libs/main/cloud/picloudmodule.h b/libs/main/cloud/picloudmodule.h
index 4d245270..16d78813 100644
--- a/libs/main/cloud/picloudmodule.h
+++ b/libs/main/cloud/picloudmodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Cloud
+//! \defgroup Cloud Cloud
//! \~\brief
//! \~english Cloud transport over ethernet
//! \~russian Облачный транспорт через ethernet
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Cloud Building with CMake
+//! \~russian \section cmake_module_Cloud Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/code/picodemodule.h b/libs/main/code/picodemodule.h
index 191f8bf1..0034d79e 100644
--- a/libs/main/code/picodemodule.h
+++ b/libs/main/code/picodemodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Code
+//! \defgroup Code Code
//! \~\brief
//! \~english C++ code parsing
//! \~russian Разбор C++ кода
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Code Building with CMake
+//! \~russian \section cmake_module_Code Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/compress/picompress.h b/libs/main/compress/picompress.h
index cc45c206..85b0bfbf 100644
--- a/libs/main/compress/picompress.h
+++ b/libs/main/compress/picompress.h
@@ -23,14 +23,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Compress
+//! \defgroup Compress Compress
//! \~\brief
//! \~english Compression support
//! \~russian Поддержка сжатия
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Compress Building with CMake
+//! \~russian \section cmake_module_Compress Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/console/piconsolemodule.h b/libs/main/console/piconsolemodule.h
index f5328893..f2a44aaf 100644
--- a/libs/main/console/piconsolemodule.h
+++ b/libs/main/console/piconsolemodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Console
+//! \defgroup Console Console
//! \~\brief
//! \~english Console graphic
//! \~russian Графика в консоли
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Console Building with CMake
+//! \~russian \section cmake_module_Console Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/containers/picontainersmodule.h b/libs/main/containers/picontainersmodule.h
index 22bcd355..cb12ab8f 100644
--- a/libs/main/containers/picontainersmodule.h
+++ b/libs/main/containers/picontainersmodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Containers
+//! \defgroup Containers Containers
//! \~\brief
//! \~english Various standart containers realization
//! \~russian Различные классы контейнеров
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Containers Building with CMake
+//! \~russian \section cmake_module_Containers Сборка с использованием CMake
//!
//! \~\code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/core/picoremodule.h b/libs/main/core/picoremodule.h
index 11720326..785acafc 100644
--- a/libs/main/core/picoremodule.h
+++ b/libs/main/core/picoremodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Core
+//! \defgroup Core Core
//! \~\brief
//! \~english Basic functionality.
//! \~russian Базовая функциональность.
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Core Building with CMake
+//! \~russian \section cmake_module_Core Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/core/picout.h b/libs/main/core/picout.h
index a366a297..68a584a4 100644
--- a/libs/main/core/picout.h
+++ b/libs/main/core/picout.h
@@ -60,7 +60,7 @@ namespace PICoutManipulators {
NewLine /*! \~english New line character, '\\n' \~russian Новая строка, '\\n' */,
Tab /*! \~english Tab character, '\\t' \~russian Табуляция, '\\t' */,
Esc /*! \~english Escape character, '\\e' \~russian Esc-символ, '\\e' */,
- Quote /*! \~english Quote character, '"' \~russian Кавычки, '"' */
+ Quote /*! \~english Quote character, '\"' \~russian Кавычки, '\"' */
};
//! \~english Enum contains immediate action
diff --git a/libs/main/crypt/picryptmodule.h b/libs/main/crypt/picryptmodule.h
index 09c8b8be..926d3511 100644
--- a/libs/main/crypt/picryptmodule.h
+++ b/libs/main/crypt/picryptmodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Crypt
+//! \defgroup Crypt Crypt
//! \~\brief
//! \~english Cryptographic support
//! \~russian Поддержка шифрования
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Crypt Building with CMake
+//! \~russian \section cmake_module_Crypt Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/geo/pigeomodule.h b/libs/main/geo/pigeomodule.h
index 75fecb69..4e722b2f 100644
--- a/libs/main/geo/pigeomodule.h
+++ b/libs/main/geo/pigeomodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Geo
+//! \defgroup Geo Geo
//! \~\brief
//! \~english Geographical position and Earth models
//! \~russian Географическая позиция и модели Земли
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Geo Building with CMake
+//! \~russian \section cmake_module_Geo Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/introspection/piintrospection_base.h b/libs/main/introspection/piintrospection_base.h
index ff5bb7ba..3f090add 100644
--- a/libs/main/introspection/piintrospection_base.h
+++ b/libs/main/introspection/piintrospection_base.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Introspection
+//! \defgroup Introspection Introspection
//! \~\brief
//! \~english Internal PIP introspection
//! \~russian Внутренняя интроспекция PIP
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Introspection Building with CMake
+//! \~russian \section cmake_module_Introspection Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/introspection/piintrospection_server.h b/libs/main/introspection/piintrospection_server.h
index 8c1c1a8e..065bef93 100644
--- a/libs/main/introspection/piintrospection_server.h
+++ b/libs/main/introspection/piintrospection_server.h
@@ -1,3 +1,9 @@
+/*! \file piintrospection_server.h
+ * \ingroup Introspection
+ * \~\brief
+ * \~english Introspection server
+ * \~russian Сервер интроспекции
+ */
/*
PIP - Platform Independent Primitives
Introspection module
@@ -22,7 +28,7 @@
#ifdef DOXYGEN
-//! \~\ingroup Introspection
+//! \ingroup Introspection
//! \~english Start introspection server with name "name"
//! \~russian Запускает сервер интроспекции с именем "name"
# define PIINTROSPECTION_START(name)
diff --git a/libs/main/io_devices/piiodevicesmodule.h b/libs/main/io_devices/piiodevicesmodule.h
index ce5b7ec0..60063b68 100644
--- a/libs/main/io_devices/piiodevicesmodule.h
+++ b/libs/main/io_devices/piiodevicesmodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup IO
+//! \defgroup IO IO
//! \~\brief
//! \~english Input/output devices.
//! \~russian Устройства ввода/вывода.
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_IO Building with CMake
+//! \~russian \section cmake_module_IO Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/io_devices/piusb.h b/libs/main/io_devices/piusb.h
index bb04b5bc..bfefdbb6 100644
--- a/libs/main/io_devices/piusb.h
+++ b/libs/main/io_devices/piusb.h
@@ -22,14 +22,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup USB
+//! \defgroup USB USB
//! \~\brief
//! \~english USB support via libusb
//! \~russian Поддержка USB с помощью libusb
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_USB Building with CMake
+//! \~russian \section cmake_module_USB Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/io_utils/piioutilsmodule.h b/libs/main/io_utils/piioutilsmodule.h
index 771a6c7a..08822d9c 100644
--- a/libs/main/io_utils/piioutilsmodule.h
+++ b/libs/main/io_utils/piioutilsmodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup IO-Utils
+//! \defgroup IO-Utils IO-Utils
//! \~\brief
//! \~english Complex channel transport
//! \~russian Сложный канальный транспорт
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_IO_Utils Building with CMake
+//! \~russian \section cmake_module_IO_Utils Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/lua/pip_lua.h b/libs/main/lua/pip_lua.h
index 9f5cd700..c24c98e6 100644
--- a/libs/main/lua/pip_lua.h
+++ b/libs/main/lua/pip_lua.h
@@ -22,14 +22,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Lua
+//! \defgroup Lua Lua
//! \~\brief
//! \~english Lua programs support
//! \~russian Поддержка программ Lua
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Lua Building with CMake
+//! \~russian \section cmake_module_Lua Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/math/pifft.h b/libs/main/math/pifft.h
index 0a3c382e..28ff1540 100644
--- a/libs/main/math/pifft.h
+++ b/libs/main/math/pifft.h
@@ -23,14 +23,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup FFTW
+//! \defgroup FFTW FFTW
//! \~\brief
//! \~english Optimized FFT support via libfftw3
//! \~russian Оптимизированный БПФ с помощью libfftw3
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_FFTW Building with CMake
+//! \~russian \section cmake_module_FFTW Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/math/pimathmodule.h b/libs/main/math/pimathmodule.h
index a711c7ae..659d2eab 100644
--- a/libs/main/math/pimathmodule.h
+++ b/libs/main/math/pimathmodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Math
+//! \defgroup Math Math
//! \~\brief
//! \~english Basic mathematical functions and defines
//! \~russian Базовые математические функции и дефайны
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Math Building with CMake
+//! \~russian \section cmake_module_Math Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/opencl/piopencl.h b/libs/main/opencl/piopencl.h
index c9c639b0..fc50b235 100644
--- a/libs/main/opencl/piopencl.h
+++ b/libs/main/opencl/piopencl.h
@@ -22,14 +22,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup OpenCL
+//! \defgroup OpenCL OpenCL
//! \~\brief
//! \~english OpenCL support
//! \~russian Поддержка OpenCL
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_OpenCL Building with CMake
+//! \~russian \section cmake_module_OpenCL Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/resources/piresources.h b/libs/main/resources/piresources.h
index 3a85a093..283406f7 100644
--- a/libs/main/resources/piresources.h
+++ b/libs/main/resources/piresources.h
@@ -22,14 +22,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Resources
+//! \defgroup Resources Resources
//! \~\brief
//! \~english Resources subsystem
//! \~russian Подсистема ресурсов
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Resources Building with CMake
+//! \~russian \section cmake_module_Resources Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/system/pisystemmodule.h b/libs/main/system/pisystemmodule.h
index 14346797..cbe6de4e 100644
--- a/libs/main/system/pisystemmodule.h
+++ b/libs/main/system/pisystemmodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup System
+//! \defgroup System 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
+//! \~english \section cmake_module_System Building with CMake
+//! \~russian \section cmake_module_System Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/libs/main/thread/pithreadmodule.h b/libs/main/thread/pithreadmodule.h
index 8e069d6d..a3d0ac8c 100644
--- a/libs/main/thread/pithreadmodule.h
+++ b/libs/main/thread/pithreadmodule.h
@@ -16,14 +16,14 @@
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .
*/
-//! \defgroup Thread
+//! \defgroup Thread Thread
//! \~\brief
//! \~english Multithreading support
//! \~russian Поддержка многопоточности
//!
//! \~\details
-//! \~english \section cmake_module Building with CMake
-//! \~russian \section cmake_module Сборка с использованием CMake
+//! \~english \section cmake_module_Thread Building with CMake
+//! \~russian \section cmake_module_Thread Сборка с использованием CMake
//!
//! \code
//! find_package(PIP REQUIRED)
diff --git a/utils/code_model_generator/main.cpp b/utils/code_model_generator/main.cpp
index cbc92c03..54c37395 100755
--- a/utils/code_model_generator/main.cpp
+++ b/utils/code_model_generator/main.cpp
@@ -24,10 +24,47 @@ using namespace PICoutManipulators;
PICodeParser parser;
+const char help_string[] =
+"-M (Metainfo)\n"
+"Generate classes and structs info. It contains\n"
+"names, subclass info, all methods and variables.\n"
+"Place information:\n"
+" * classes and structs - PICodeInfo::classesInfo\n"
+" * methods - ClassInfo::functions\n"
+" * variables - ClassInfo::variables\n"
+"\n"
+"-E (Enums)\n"
+"Generate enumeration descriptions.\n"
+"Useful for GUI integrations, because\n"
+"you can obtain enumerators value and name.\n"
+" * enums - PICodeInfo::enumsInfo\n"
+"\n"
+"-S (Stream operators)\n"
+"Generate store/restore operators with format\n"
+"PIByteArray & operator <<(PIByteArray & s, const & v);\n"
+"PIByteArray & operator >>(PIByteArray & s, & v);\n"
+"Only public variables used. All variables stored/restored\n"
+"using PIChunkStream. IDs are variable number, starting from 1.\n"
+"You can override ID with PIMETA(id=). If in class or struct\n"
+"PIMETA(simple-stream) presence, then variables stored/restored\n"
+"with simple << and >> operators.\n"
+"\n"
+"-G (Getter functions)\n"
+"Generate anonymous access methods for member typenames and values.\n"
+"Every class or struct member typename can be obtained with:\n"
+"const char * getMemberType(const char * class_name, const char * member_name)\n"
+"Member value can be obtained with:\n"
+"PIByteArray getMemberValue(const void * p, const char * class_name, const char * member_name)\n"
+"where \"p\" - class or struct pointer, and returns serialized value.\n"
+"PIVariant getMemberAsVariant(const void * p, const char * class_name, const char * member_name)\n"
+"where \"p\" - class or struct pointer, and returns value as registered PIVariant.\n"
+""
+;
+
void header() {
piCout << Bold << "PIP Code model generator";
piCout << Cyan << "Version" << Bold << PIPVersion() << NewLine;
- piCout << Green << Bold << "Usage:" << Default << "\"pip_cmg [-hqPpsAMEST] -o [-I] [-I] [...] [-D] [-D] [...] [] [] [...]\"" << NewLine;
+ piCout << Green << Bold << "Usage:" << Default << "\"pip_cmg [-hHqPpsAMESTG] -o [-I] [-I] [...] [-D] [-D] [...] [] [] [...]\"" << NewLine;
}
void usage() {
@@ -60,8 +97,7 @@ void usage() {
void help() {
header();
- piCout << Bold << "Metainfo";
- piCout << "-h " << Green << "- display this message and exit";
+ piCout << help_string;
}