From 0b3ee4bb6a7a3a1ba825fb8386ca0836a8b23c44 Mon Sep 17 00:00:00 2001 From: peri4 Date: Thu, 5 May 2022 22:31:59 +0300 Subject: [PATCH] doc ru --- libs/main/core/pibytearray.cpp | 8 - libs/main/core/pibytearray.h | 4 + libs/main/core/pichar.cpp | 8 - libs/main/core/pichar.h | 4 + libs/main/core/pichunkstream.cpp | 8 +- libs/main/core/pichunkstream.h | 4 + libs/main/core/picli.cpp | 8 +- libs/main/core/picli.h | 4 + libs/main/core/picollection.cpp | 7 - libs/main/core/picollection.h | 4 + libs/main/core/piconstchars.cpp | 3 - libs/main/core/piconstchars.h | 4 +- libs/main/core/picout.cpp | 8 +- libs/main/core/picout.h | 4 + libs/main/core/pidatetime.cpp | 10 +- libs/main/core/pidatetime.h | 12 ++ libs/main/core/piobject.cpp | 16 +- libs/main/core/piobject.h | 8 + libs/main/core/pipropertystorage.cpp | 31 +--- libs/main/core/pipropertystorage.h | 8 + libs/main/core/pistring.cpp | 7 - libs/main/core/pistring.h | 4 + libs/main/core/pistringlist.cpp | 7 - libs/main/core/pistringlist.h | 4 + libs/main/core/pisystemtime.cpp | 16 +- libs/main/core/pisystemtime.h | 8 + libs/main/core/pivariant.cpp | 1 - libs/main/core/pivariant.h | 3 + libs/main/system/pilibrary.cpp | 8 - libs/main/system/pilibrary.h | 4 + libs/main/system/piplugin.cpp | 8 - libs/main/system/piplugin.h | 4 + libs/main/system/piprocess.cpp | 8 - libs/main/system/piprocess.h | 4 + libs/main/system/pisysteminfo.cpp | 11 -- libs/main/system/pisysteminfo.h | 106 ++++++++++++-- libs/main/system/pisystemmonitor.cpp | 13 -- libs/main/system/pisystemmonitor.h | 210 ++++++++++++++++++++++++--- 38 files changed, 378 insertions(+), 211 deletions(-) diff --git a/libs/main/core/pibytearray.cpp b/libs/main/core/pibytearray.cpp index 43e2974c..bdc33f1c 100644 --- a/libs/main/core/pibytearray.cpp +++ b/libs/main/core/pibytearray.cpp @@ -21,14 +21,7 @@ #include "pistringlist.h" #include -//! \addtogroup Core -//! \{ //! \class PIByteArray pibytearray.h -//! -//! \~\brief -//! \~english The %PIByteArray class provides an array of bytes -//! \~russian Класс %PIByteArray представляет собой массив байтов -//! //! \~\details //! \~english //! %PIByteArray used to store raw bytes. @@ -98,7 +91,6 @@ //! метов \a append(). //! \~\snippet pibytearray.cpp 3 //! -//! \} static const uchar base64Table[64] = { diff --git a/libs/main/core/pibytearray.h b/libs/main/core/pibytearray.h index dee38aa3..1c4a8a22 100644 --- a/libs/main/core/pibytearray.h +++ b/libs/main/core/pibytearray.h @@ -36,6 +36,10 @@ class PIString; class PIByteArray; +//! \ingroup Core +//! \~\brief +//! \~english The %PIByteArray class provides an array of bytes. +//! \~russian Класс %PIByteArray представляет собой массив байтов. class PIP_EXPORT PIByteArray: public PIDeque { public: diff --git a/libs/main/core/pichar.cpp b/libs/main/core/pichar.cpp index 9b0a7128..0d2f1409 100644 --- a/libs/main/core/pichar.cpp +++ b/libs/main/core/pichar.cpp @@ -36,14 +36,7 @@ char * __utf8name__ = 0; #endif #include -//! \addtogroup Core -//! \{ //! \class PIChar pichar.h -//! -//! \~\brief -//! \~english %PIChar represents a single character -//! \~russian %PIChar представляет собой один символ строки -//! //! \~\details //! \~english //! This class is wrapper around UTF16. @@ -53,7 +46,6 @@ char * __utf8name__ = 0; //! %PIChar хранит один сивол в UTF16. Имеет много контрукторов, геттеров в различные //! кодировки (системную, консольную, UTF8) и информационных функций. //! -//! \} ushort charFromCodepage(const char * c, int size, const char * codepage, int * taken = 0) { diff --git a/libs/main/core/pichar.h b/libs/main/core/pichar.h index 0b17769a..cf312353 100644 --- a/libs/main/core/pichar.h +++ b/libs/main/core/pichar.h @@ -32,6 +32,10 @@ extern PIP_EXPORT char * __syslocname__; extern PIP_EXPORT char * __sysoemname__; extern PIP_EXPORT char * __utf8name__; +//! \ingroup Core +//! \~\brief +//! \~english %PIChar represents a single character. +//! \~russian %PIChar представляет собой один символ строки. class PIP_EXPORT PIChar { friend class PIString; diff --git a/libs/main/core/pichunkstream.cpp b/libs/main/core/pichunkstream.cpp index 349d89c3..6255c955 100644 --- a/libs/main/core/pichunkstream.cpp +++ b/libs/main/core/pichunkstream.cpp @@ -19,13 +19,8 @@ #include "pichunkstream.h" -//! \addtogroup Core -//! \{ //! \class PIChunkStream pichunkstream.h -//! \brief -//! \~english Class for binary de/serialization -//! \~russian Класс для бинарной де/сериализации -//! +//! \details //! \~english \section PIChunkStream_sec0 Synopsis //! \~russian \section PIChunkStream_sec0 Краткий обзор //! \~english @@ -89,7 +84,6 @@ //! \~russian ... и десериализовать: //! \~\snippet pichunkstream.cpp read_new //! -//! \} void PIChunkStream::setSource(const PIByteArray & data) { diff --git a/libs/main/core/pichunkstream.h b/libs/main/core/pichunkstream.h index ddc6ee12..a0456541 100644 --- a/libs/main/core/pichunkstream.h +++ b/libs/main/core/pichunkstream.h @@ -29,6 +29,10 @@ #include "pibytearray.h" +//! \ingroup Core +//! \~\brief +//! \~english Class for binary de/serialization. +//! \~russian Класс для бинарной де/сериализации. class PIP_EXPORT PIChunkStream { public: diff --git a/libs/main/core/picli.cpp b/libs/main/core/picli.cpp index 031bd15f..243b5daf 100644 --- a/libs/main/core/picli.cpp +++ b/libs/main/core/picli.cpp @@ -21,13 +21,8 @@ #include "pisysteminfo.h" -//! \addtogroup Core -//! \{ //! \class PICLI picli.h -//! \~\brief -//! \~english Command-Line parser -//! \~russian Парсер командной строки -//! +//! \details //! \~english \section PICLI_sec0 Synopsis //! \~russian \section PICLI_sec0 Краткий обзор //! \~english @@ -66,7 +61,6 @@ //! a.out --debug -c --value 10 //! \endcode //! -//! \} PICLI::PICLI(int argc, char * argv[]) { diff --git a/libs/main/core/picli.h b/libs/main/core/picli.h index 4c1377a8..7a35d513 100644 --- a/libs/main/core/picli.h +++ b/libs/main/core/picli.h @@ -28,6 +28,10 @@ #include "piobject.h" +//! \ingroup Core +//! \~\brief +//! \~english Command-Line parser. +//! \~russian Парсер командной строки. class PIP_EXPORT PICLI: public PIObject { PIOBJECT_SUBCLASS(PICLI, PIObject) diff --git a/libs/main/core/picollection.cpp b/libs/main/core/picollection.cpp index 2607249a..76dd996e 100644 --- a/libs/main/core/picollection.cpp +++ b/libs/main/core/picollection.cpp @@ -20,13 +20,7 @@ #include "picollection.h" -//! \addtogroup Core -//! \{ //! \~\class PICollection picollection.h -//! \~\brief -//! \~english Helper to collect and retrieve classes to groups -//! \~russian Помощник для создания и получения классов в группы -//! //! \~\details //! \~english \section PICollection_sec0 Synopsis //! \~russian \section PICollection_sec0 Краткий обзор @@ -41,7 +35,6 @@ //! объектов в глобальные группы. Затем можно получить их список в любом месте программы. //! \~\snippet picollection.cpp main //! -//! \} PIStringList PICollection::groups() { diff --git a/libs/main/core/picollection.h b/libs/main/core/picollection.h index 1679b8dc..cb3650a3 100644 --- a/libs/main/core/picollection.h +++ b/libs/main/core/picollection.h @@ -100,6 +100,10 @@ #endif +//! \ingroup Core +//! \~\brief +//! \~english Helper to collect and retrieve classes to groups. +//! \~russian Помощник для создания и получения классов в группы. class PIP_EXPORT PICollection { friend class __PICollectionInitializer; diff --git a/libs/main/core/piconstchars.cpp b/libs/main/core/piconstchars.cpp index cf13da49..2cb1ec2b 100644 --- a/libs/main/core/piconstchars.cpp +++ b/libs/main/core/piconstchars.cpp @@ -20,8 +20,6 @@ #include "pistring.h" -//! \addtogroup Core -//! \{ //! \~\class PIConstChars piconstchars.h //! \~\details //! \~english \section PICout_sec0 Synopsis @@ -42,7 +40,6 @@ //! //! Используется для более удобной работы с обычными C-строками. //! -//! \} bool PIConstChars::startsWith(const PIConstChars & str) const { diff --git a/libs/main/core/piconstchars.h b/libs/main/core/piconstchars.h index 83a0283b..3f6ec6d1 100644 --- a/libs/main/core/piconstchars.h +++ b/libs/main/core/piconstchars.h @@ -31,8 +31,8 @@ //! \ingroup Core //! \~\brief -//! \~english C-String class -//! \~russian Класс C-строки +//! \~english C-String class. +//! \~russian Класс C-строки. class PIP_EXPORT PIConstChars { public: diff --git a/libs/main/core/picout.cpp b/libs/main/core/picout.cpp index 9fac78f6..6ed35e67 100644 --- a/libs/main/core/picout.cpp +++ b/libs/main/core/picout.cpp @@ -34,13 +34,8 @@ #endif -//! \addtogroup Core -//! \{ //! \~\class PICout picout.h -//! \~\brief -//! \~english Universal output to console class -//! \~russian Универсальный вывод в консоль -//! +//! \~\details //! \~english \section PICout_sec0 Synopsis //! \~russian \section PICout_sec0 Краткий обзор //! \~english @@ -79,7 +74,6 @@ //! \~russian \section PICout_ex1 Создание своего оператора вывода //! \~\snippet picout.cpp own //! -//! \} //! \addtogroup Core diff --git a/libs/main/core/picout.h b/libs/main/core/picout.h index 87c3a1a4..836f9c90 100644 --- a/libs/main/core/picout.h +++ b/libs/main/core/picout.h @@ -125,6 +125,10 @@ namespace PICoutManipulators { +//! \ingroup Core +//! \~\brief +//! \~english Universal output to console class. +//! \~russian Универсальный вывод в консоль. class PIP_EXPORT PICout { public: diff --git a/libs/main/core/pidatetime.cpp b/libs/main/core/pidatetime.cpp index f871fd82..70bd6dd8 100644 --- a/libs/main/core/pidatetime.cpp +++ b/libs/main/core/pidatetime.cpp @@ -35,20 +35,12 @@ //! \addtogroup Core //! \{ +//! //! \~\class PITime pidatetime.h -//! \brief -//! \~english Calendar time -//! \~russian Календарное время //! //! \~\class PIDate pidatetime.h -//! \brief -//! \~english Calendar date -//! \~russian Календарная дата //! //! \~\class PIDateTime pidatetime.h -//! \brief -//! \~english Calendar date and time -//! \~russian Календарное дата и время //! //! \} diff --git a/libs/main/core/pidatetime.h b/libs/main/core/pidatetime.h index 91910824..9b009613 100644 --- a/libs/main/core/pidatetime.h +++ b/libs/main/core/pidatetime.h @@ -30,6 +30,10 @@ #include "pisystemtime.h" +//! \ingroup Core +//! \~\brief +//! \~english Calendar time. +//! \~russian Календарное время. class PIP_EXPORT PITime { public: //! \~english Construct %PITime from hours, minutes, seconds and milliseconds @@ -102,6 +106,10 @@ PIP_EXPORT PICout operator <<(PICout s, const PITime & v); +//! \ingroup Core +//! \~\brief +//! \~english Calendar date. +//! \~russian Календарная дата. class PIP_EXPORT PIDate { public: //! \~english Construct %PIDate from year, month and day @@ -162,6 +170,10 @@ PIP_EXPORT PICout operator <<(PICout s, const PIDate & v); +//! \ingroup Core +//! \~\brief +//! \~english Calendar date and time. +//! \~russian Календарное дата и время. class PIP_EXPORT PIDateTime { public: //! \~english Construct null %PIDateTime diff --git a/libs/main/core/piobject.cpp b/libs/main/core/piobject.cpp index ba25bd86..c764e5d8 100644 --- a/libs/main/core/piobject.cpp +++ b/libs/main/core/piobject.cpp @@ -26,13 +26,7 @@ #endif -//! \addtogroup Core -//! \{ //! \~\class PIObject piobject.h -//! \~\brief -//! \~english This is base class for any classes which use events -> handlers mechanism -//! \~russian Этот класс является базовым для использования механизма события -> обработчики -//! //! \~\details //! \~english \section PIObject_sec0 Events and Event handlers //! \~russian \section PIObject_sec0 События и Обработчики событий @@ -98,16 +92,12 @@ //! handler A: event to event //! event to lambda //! \endcode -//! \} +//! -//! \addtogroup Core -//! \{ //! \~\class PIObject::Connection piobject.h -//! \~\brief -//! \~english Helper class for obtain info about if connection successful and disconnect single connection -//! \~russian Вспомогательный класс для получения информации об успешности соединения и возможности его разрыва -//! \} +//! \~\details +//! PIObject::__MetaFunc::__MetaFunc() { diff --git a/libs/main/core/piobject.h b/libs/main/core/piobject.h index 1e63a453..0fa24296 100644 --- a/libs/main/core/piobject.h +++ b/libs/main/core/piobject.h @@ -36,6 +36,10 @@ typedef void (*Handler)(void * ); +//! \ingroup Core +//! \~\brief +//! \~english This is base class for any classes which use events -> handlers mechanism. +//! \~russian Этот класс является базовым для использования механизма события -> обработчики. class PIP_EXPORT PIObject { #ifndef MICRO_PIP friend class PIObjectManager; @@ -53,6 +57,10 @@ public: virtual ~PIObject(); + //! \ingroup Core + //! \~\brief + //! \~english Helper class for obtain info about if connection successful and disconnect single connection. + //! \~russian Вспомогательный класс для получения информации об успешности соединения и возможности его разрыва. class PIP_EXPORT Connection { friend class PIObject; Connection(void * sl, void * si, const PIString & e = PIString(), diff --git a/libs/main/core/pipropertystorage.cpp b/libs/main/core/pipropertystorage.cpp index fa9fb126..46206a8b 100644 --- a/libs/main/core/pipropertystorage.cpp +++ b/libs/main/core/pipropertystorage.cpp @@ -20,13 +20,7 @@ #include "pipropertystorage.h" -//! \addtogroup Core -//! \{ //! \~\class PIPropertyStorage pipropertystorage.h -//! \~\brief -//! \~english This class provides key-value properties storage -//! \~russian Этот класс предоставляет ключ-значение хранение свойств -//! //! \~\details //! \~english \section PIPropertyStorage_sec0 Synopsis //! \~russian \section PIPropertyStorage_sec0 Краткий обзор @@ -45,35 +39,12 @@ //! \~russian Пример: //! \~\code{.cpp} //! \endcode -//! \} +//! -//! \addtogroup Core -//! \{ //! \~\class PIPropertyStorage::Property pipropertystorage.h -//! \~\brief -//! \~english PIPropertyStorage element -//! \~russian Элемент PIPropertyStorage -//! //! \~\details -//! \~english \section PIPropertyStorage_sec1 Synopsis -//! \~russian \section PIPropertyStorage_sec1 Краткий обзор //! -//! \~english -//! Key-value storage, based on PIVector with PIPropertyStorage::Property elements. Each element in vector -//! contains unique name. You can access property by name with \a propertyValueByName() or \a propertyByName(). -//! You can add or replace property by \a addProperty(const Property&) or \a addProperty(const PIString&, const PIVariant&, const PIString&, int). -//! -//! \~russian -//! Хранилище свойств ключ-значние, основанный на PIVector с элементами PIPropertyStorage::Property. -//! Каждый элемент имеет уникальное имя. Доступ к свойствам через \a propertyValueByName() или \a propertyByName(). -//! Добавление и перезапись свойств через \a addProperty(const Property&) или \a addProperty(const PIString&, const PIVariant&, const PIString&, int). -//! -//! \~english Example: -//! \~russian Пример: -//! \~\code{.cpp} -//! \endcode -//! \} bool PIPropertyStorage::isPropertyExists(const PIString & _name) const { diff --git a/libs/main/core/pipropertystorage.h b/libs/main/core/pipropertystorage.h index afd77cfd..d695e197 100644 --- a/libs/main/core/pipropertystorage.h +++ b/libs/main/core/pipropertystorage.h @@ -29,6 +29,10 @@ #include "pivariant.h" +//! \ingroup Core +//! \~\brief +//! \~english This class provides key-value properties storage. +//! \~russian Этот класс предоставляет ключ-значение хранение свойств. class PIP_EXPORT PIPropertyStorage { public: @@ -36,6 +40,10 @@ public: //! \~russian Создает пустой %PIPropertyStorage PIPropertyStorage() {} + //! \ingroup Core + //! \~\brief + //! \~english PIPropertyStorage element. + //! \~russian Элемент PIPropertyStorage. struct PIP_EXPORT Property { //! \~english Contructs %PIPropertyStorage::Property with name "n", comment "c", value "v" and flags "f" diff --git a/libs/main/core/pistring.cpp b/libs/main/core/pistring.cpp index 5138b7bb..66488590 100644 --- a/libs/main/core/pistring.cpp +++ b/libs/main/core/pistring.cpp @@ -31,13 +31,7 @@ #include #include -//! \addtogroup Core -//! \{ //! \class PIString pistring.h -//! \brief -//! \~english String class -//! \~russian Класс строки -//! //! \~\details //! \~english \section PIString_sec0 Synopsis //! \~russian \section PIString_sec0 Краткий обзор @@ -54,7 +48,6 @@ //! создана из множества типов и преобразована в несколько типов. //! Имеет множество методов для манипуляций. //! -//! \} diff --git a/libs/main/core/pistring.h b/libs/main/core/pistring.h index b270e3f9..c4f2940a 100644 --- a/libs/main/core/pistring.h +++ b/libs/main/core/pistring.h @@ -34,6 +34,10 @@ class PIStringList; +//! \ingroup Core +//! \~\brief +//! \~english String class. +//! \~russian Класс строки. class PIP_EXPORT PIString { friend PIByteArray & operator >>(PIByteArray & s, PIString & v); diff --git a/libs/main/core/pistringlist.cpp b/libs/main/core/pistringlist.cpp index 11b1145f..630e6e0d 100644 --- a/libs/main/core/pistringlist.cpp +++ b/libs/main/core/pistringlist.cpp @@ -20,16 +20,9 @@ #include "pistringlist.h" -//! \addtogroup Core -//! \{ //! \~\class PIStringList pistringlist.h -//! \~\brief -//! \~english Based on \a PIDeque strings list -//! \~russian Основанный на \a PIDeque массив строк -//! //! \~\details //! -//! \} //! \details diff --git a/libs/main/core/pistringlist.h b/libs/main/core/pistringlist.h index 13f31cee..0e6fc2a3 100644 --- a/libs/main/core/pistringlist.h +++ b/libs/main/core/pistringlist.h @@ -29,6 +29,10 @@ #include "pistring.h" +//! \ingroup Core +//! \~\brief +//! \~english Based on \a PIDeque strings list. +//! \~russian Основанный на \a PIDeque массив строк. class PIP_EXPORT PIStringList: public PIDeque { public: diff --git a/libs/main/core/pisystemtime.cpp b/libs/main/core/pisystemtime.cpp index 64e7454a..c6d6fe3e 100644 --- a/libs/main/core/pisystemtime.cpp +++ b/libs/main/core/pisystemtime.cpp @@ -45,13 +45,8 @@ #endif -//! \addtogroup Core -//! \{ //! \class PISystemTime pisystemtime.h -//! \brief -//! \~english System time with nanosecond precision -//! \~russian Системное время с точностью до наносекунд -//! +//! \details //! \~english \section PISystemTime_sec0 Synopsis //! \~russian \section PISystemTime_sec0 Краткий обзор //! \~english @@ -72,16 +67,10 @@ //! \~russian \section PISystemTime_sec1 Пример //! \~\snippet pitimer.cpp system_time //! -//! \} -//! \addtogroup Core -//! \{ //! \class PITimeMeasurer pisystemtime.h -//! \brief -//! \~english Time measurements -//! \~russian Измерение времени -//! +//! \details //! \~english \section PITimeMeasurer_sec0 Usage //! \~russian \section PITimeMeasurer_sec0 Использование //! \~english @@ -96,7 +85,6 @@ //! Эти методы возвращают нано, микро, милли и секунды с приставками //! "n", "u", "m" и "s". //! -//! \} diff --git a/libs/main/core/pisystemtime.h b/libs/main/core/pisystemtime.h index 42854549..5dd025b5 100644 --- a/libs/main/core/pisystemtime.h +++ b/libs/main/core/pisystemtime.h @@ -30,6 +30,10 @@ #include "pistring.h" +//! \ingroup Core +//! \~\brief +//! \~english System time with nanosecond precision. +//! \~russian Системное время с точностью до наносекунд. class PIP_EXPORT PISystemTime { public: @@ -187,6 +191,10 @@ inline PICout operator <<(PICout s, const PISystemTime & v) {s.space(); s.setCon +//! \ingroup Core +//! \~\brief +//! \~english Time measurements. +//! \~russian Измерение времени. class PIP_EXPORT PITimeMeasurer { public: PITimeMeasurer(); diff --git a/libs/main/core/pivariant.cpp b/libs/main/core/pivariant.cpp index 470b50a2..fed298f5 100644 --- a/libs/main/core/pivariant.cpp +++ b/libs/main/core/pivariant.cpp @@ -21,7 +21,6 @@ /** \class PIVariant - * \brief Variant type * \details * \section PIVariant_sec0 Synopsis * This class provides general type that can contains all standard types, some diff --git a/libs/main/core/pivariant.h b/libs/main/core/pivariant.h index 05f74be6..94afc609 100644 --- a/libs/main/core/pivariant.h +++ b/libs/main/core/pivariant.h @@ -201,6 +201,9 @@ classname_to __PIVariantFunctions__::castVariant(c #endif +//! \ingroup Core +//! \~\brief +//! \~english Variant type. class PIP_EXPORT PIVariant { friend PICout operator <<(PICout s, const PIVariant & v); friend PIByteArray & operator <<(PIByteArray & s, const PIVariant & v); diff --git a/libs/main/system/pilibrary.cpp b/libs/main/system/pilibrary.cpp index edf60f81..ea377da5 100644 --- a/libs/main/system/pilibrary.cpp +++ b/libs/main/system/pilibrary.cpp @@ -26,14 +26,7 @@ #endif -//! \addtogroup System -//! \{ //! \class PILibrary pilibrary.h -//! -//! \~\brief -//! \~english Run-time library -//! \~russian Run-time библиотека -//! //! \~\details //! \~english \section _sec0 Synopsis //! \~russian \section _sec0 Краткий обзор @@ -126,7 +119,6 @@ //! // mul = 30 //! \endcode //! -//! \} PRIVATE_DEFINITION_START(PILibrary) diff --git a/libs/main/system/pilibrary.h b/libs/main/system/pilibrary.h index ee882561..db2d3345 100644 --- a/libs/main/system/pilibrary.h +++ b/libs/main/system/pilibrary.h @@ -30,6 +30,10 @@ #include "pistring.h" +//! \ingroup System +//! \~\brief +//! \~english Run-time library. +//! \~russian Run-time библиотека. class PIP_EXPORT PILibrary { public: diff --git a/libs/main/system/piplugin.cpp b/libs/main/system/piplugin.cpp index a1d48b9b..638db298 100644 --- a/libs/main/system/piplugin.cpp +++ b/libs/main/system/piplugin.cpp @@ -24,14 +24,7 @@ #include "pidir.h" #include "piincludes_p.h" -//! \addtogroup System -//! \{ //! \class PIPluginLoader piplugin.h -//! -//! \brief -//! \~english Plugin loader -//! \~russian Загрузчик плагина -//! //! \~\details //! \~english \section PIPluginLoader_sec0 Synopsis //! \~russian \section PIPluginLoader_sec0 Краткий обзор @@ -238,7 +231,6 @@ //! } //! \endcode //! -//! \} #define STR_WF(s) #s #define STR(s) STR_WF(s) diff --git a/libs/main/system/piplugin.h b/libs/main/system/piplugin.h index d746d7ac..46bd7dbc 100644 --- a/libs/main/system/piplugin.h +++ b/libs/main/system/piplugin.h @@ -156,6 +156,10 @@ private: +//! \ingroup System +//! \~\brief +//! \~english Plugin loader. +//! \~russian Загрузчик плагина. class PIP_EXPORT PIPluginLoader { public: typedef int(*FunctionLoaderVersion)(); diff --git a/libs/main/system/piprocess.cpp b/libs/main/system/piprocess.cpp index a8ba7251..f9bf754a 100644 --- a/libs/main/system/piprocess.cpp +++ b/libs/main/system/piprocess.cpp @@ -30,14 +30,7 @@ #endif -//! \addtogroup System -//! \{ //! \class PIProcess piprocess.h -//! -//! \~\brief -//! \~english External process -//! \~russian Внешний процесс -//! //! \~\details //! \~english //! This class able to start external executables, watch for them, @@ -65,7 +58,6 @@ //! //! \~russian //! -//! \} PRIVATE_DEFINITION_START(PIProcess) diff --git a/libs/main/system/piprocess.h b/libs/main/system/piprocess.h index 8719a10c..c83a9ad0 100644 --- a/libs/main/system/piprocess.h +++ b/libs/main/system/piprocess.h @@ -32,6 +32,10 @@ #include "pifile.h" +//! \ingroup System +//! \~\brief +//! \~english External process. +//! \~russian Внешний процесс. class PIP_EXPORT PIProcess: public PIThread { PIOBJECT_SUBCLASS(PIProcess, PIThread) diff --git a/libs/main/system/pisysteminfo.cpp b/libs/main/system/pisysteminfo.cpp index 66806052..2bf5ae69 100644 --- a/libs/main/system/pisysteminfo.cpp +++ b/libs/main/system/pisysteminfo.cpp @@ -30,17 +30,6 @@ #define SALT_SIZE 8 -PISystemInfo::MountInfo::MountInfo() { - space_all = space_used = space_free = 0; - removable = false; -} - - - - -PISystemInfo::PISystemInfo() { - processorsCount = 1; -} PISystemInfo * PISystemInfo::instance() { diff --git a/libs/main/system/pisysteminfo.h b/libs/main/system/pisysteminfo.h index 9cef5310..f8f5156a 100644 --- a/libs/main/system/pisysteminfo.h +++ b/libs/main/system/pisysteminfo.h @@ -1,8 +1,8 @@ /*! \file pisysteminfo.h * \ingroup System * \~\brief - * \~english System information - * \~russian Информация о системе + * \~english System information + * \~russian Информация о системе */ /* PIP - Platform Independent Primitives @@ -28,35 +28,121 @@ #include "pitime.h" + +//! \ingroup System +//! \~\brief +//! \~english Information about system. +//! \~russian Информация о системе. class PIP_EXPORT PISystemInfo { public: - PISystemInfo(); + //! \ingroup System + //! \~\brief + //! \~english Mount point information. + //! \~russian Информация о точке монтирования. struct PIP_EXPORT MountInfo { - MountInfo(); + + //! \~english Absolute path to mount point + //! \~russian Абсолютный путь к точке монтирования PIString mount_point; + + //! \~english Device description + //! \~russian Описание устройства PIString device; + + //! \~english Filesystem name + //! \~russian Имя файловой системы PIString filesystem; + + //! \~english Mount point label + //! \~russian Метка точки монтирования PIString label; - ullong space_all; - ullong space_used; - ullong space_free; - bool removable; + + //! \~english Total space in bytes + //! \~russian Полный объем в байтах + ullong space_all = 0; + + //! \~english Used space in bytes + //! \~russian Занятый объем в байтах + ullong space_used = 0; + + //! \~english Free space in bytes + //! \~russian Свободный объем в байтах + ullong space_free = 0; + + //! \~english Is this device is removable + //! \~russian Является ли устройство съёмным + bool removable = false; }; - PIString ifconfigPath, execCommand, hostname, user, OS_name, OS_version, architecture; + //! \~english Absolute path to "ifconfig" utility + //! \~russian Абсолютный путь к утилите "ifconfig" + PIString ifconfigPath; + + //! \~english Application execution path (\c argv[0]) + //! \~russian Путь вызова приложения (\c argv[0]) + PIString execCommand; + + //! \~english System hostname + //! \~russian Hostname системы + PIString hostname; + + //! \~english Username that starts application + //! \~russian Имя пользователя, запустившего приложение + PIString user; + + //! \~english System name (Windows, MacOS, ...) + //! \~russian Имя системы (Windows, MacOS, ...) + PIString OS_name; + + //! \~english System version + //! \~russian Версия системы + PIString OS_version; + + //! \~english System architecture (x86, x86_64, ...) + //! \~russian Архитектура системы (x86, x86_64, ...) + PIString architecture; + + //! \~english Application start date and time + //! \~russian Дата и время запуска приложения PIDateTime execDateTime; - int processorsCount; + + //! \~english System logical processors count + //! \~russian Количество логических процессоров системы + int processorsCount = 1; + + //! \~english Returns all mount points absolute pathes + //! \~russian Возвращает абсолютные пути всех точек монтирования static PIStringList mountRoots(); + + //! \~english Returns information of all mount points + //! \~russian Возвращает информацию о всех точках монтирования static PIVector mountInfo(bool ignore_cache = false); + + //! \~english Returns system unique key + //! \~russian Возвращает уникальный ключ системы static PIString machineKey(); + + //! \~english Returns system unique key hash + //! \~russian Возвращает хэш уникального ключа системы static uint machineID(); + + //! \~english Returns singleton of %PISystemInfo + //! \~russian Возвращает синглтон %PISystemInfo static PISystemInfo * instance(); + +private: + PISystemInfo() {} + NO_COPY_CLASS(PISystemInfo) }; + +//! \relatesalso PICout +//! \~english Output operator to \a PICout +//! \~russian Оператор вывода в \a PICout inline PICout operator <<(PICout s, const PISystemInfo::MountInfo & v) { s.setControl(0, true); s << "MountInfo(" << v.device << " mounted on \"" << v.mount_point << "\", type " << v.filesystem diff --git a/libs/main/system/pisystemmonitor.cpp b/libs/main/system/pisystemmonitor.cpp index 0efb651d..4912d3dd 100644 --- a/libs/main/system/pisystemmonitor.cpp +++ b/libs/main/system/pisystemmonitor.cpp @@ -37,13 +37,6 @@ #endif -PISystemMonitor::ProcessStatsFixed::ProcessStatsFixed() { - ID = parent_ID = group_ID = session_ID = priority = threads = 0; - physical_memsize = resident_memsize = share_memsize = virtual_memsize = data_memsize = 0; - cpu_load_user = cpu_load_system = 0.f; -} - - void PISystemMonitor::ProcessStats::makeStrings() { physical_memsize_readable.setReadableSize(physical_memsize); resident_memsize_readable.setReadableSize(resident_memsize); @@ -53,12 +46,6 @@ void PISystemMonitor::ProcessStats::makeStrings() { } -PISystemMonitor::ThreadStatsFixed::ThreadStatsFixed() { - id = 0; - cpu_load_kernel = cpu_load_user = -1.f; -} - - #ifndef MICRO_PIP PRIVATE_DEFINITION_START(PISystemMonitor) #ifndef WINDOWS diff --git a/libs/main/system/pisystemmonitor.h b/libs/main/system/pisystemmonitor.h index a848f4f1..50c2a855 100644 --- a/libs/main/system/pisystemmonitor.h +++ b/libs/main/system/pisystemmonitor.h @@ -29,75 +29,220 @@ #include "pithread.h" #include "pifile.h" -class PIP_EXPORT PISystemMonitor: public PIThread -{ + +//! \ingroup System +//! \~\brief +//! \~english Process monitoring. +//! \~russian Мониторинг процесса. +class PIP_EXPORT PISystemMonitor: public PIThread { PIOBJECT_SUBCLASS(PISystemMonitor, PIThread) friend class PIIntrospectionServer; public: + //! \~english Constructs unassigned %PISystemMonitor + //! \~russian Создает непривязанный %PISystemMonitor PISystemMonitor(); + ~PISystemMonitor(); #pragma pack(push, 1) + //! \ingroup System + //! \~\brief + //! \~english Process statistics (fixed-size fields). + //! \~russian Статистика процесса (фиксированные поля). struct PIP_EXPORT ProcessStatsFixed { - ProcessStatsFixed(); - int ID; - int parent_ID; - int group_ID; - int session_ID; - int priority; - int threads; - ullong physical_memsize; - ullong resident_memsize; - ullong share_memsize; - ullong virtual_memsize; - ullong data_memsize; - ullong ram_total; - ullong ram_free; - ullong ram_used; - float cpu_load_system; - float cpu_load_user; + + //! \~english PID + //! \~russian PID + int ID = 0; + + //! \~english Parent PID + //! \~russian PID родителя + int parent_ID = 0; + + //! \~english Group ID + //! \~russian ID группы + int group_ID = 0; + + //! \~english Session ID + //! \~russian ID сессии + int session_ID = 0; + + //! \~english Priority + //! \~russian Приоритет + int priority = 0; + + //! \~english Threads count + //! \~russian Количество потоков + int threads = 0; + + //! \~english Physical memory in bytes + //! \~russian Физическая память в байтах + ullong physical_memsize = 0; + + //! \~english Resident memory in bytes + //! \~russian Резидентная память в байтах + ullong resident_memsize = 0; + + //! \~english Share memory in bytes + //! \~russian Разделяемая память в байтах + ullong share_memsize = 0; + + //! \~english Virtual memory in bytes + //! \~russian Виртуальная память в байтах + ullong virtual_memsize = 0; + + //! \~english Data memory in bytes + //! \~russian Память данных в байтах + ullong data_memsize = 0; + + //! \~english + //! \~russian + ullong ram_total = 0; + + //! \~english + //! \~russian + ullong ram_free = 0; + + //! \~english + //! \~russian + ullong ram_used = 0; + + //! \~english CPU load in kernel space + //! \~russian Загрузка CPU в пространстве ядра + float cpu_load_system = 0.f; + + //! \~english CPU load in user space + //! \~russian Загрузка CPU в пространстве пользователя + float cpu_load_user = 0.f; }; + //! \ingroup System + //! \~\brief + //! \~english Thread statistics (fixed-size fields). + //! \~russian Статистика потока (фиксированные поля). struct PIP_EXPORT ThreadStatsFixed { - ThreadStatsFixed(); - llong id; + + //! \~english TID + //! \~russian TID + llong id = 0; + + //! \~english Overall live time + //! \~russian Полное время жизни PISystemTime work_time; + + //! \~english Busy time in kernel space + //! \~russian Время работы в пространстве ядра PISystemTime kernel_time; + + //! \~english Busy time in user space + //! \~russian Время работы в пространстве пользователя PISystemTime user_time; - float cpu_load_kernel; - float cpu_load_user; + + //! \~english CPU load in kernel space + //! \~russian Загрузка CPU в пространстве ядра + float cpu_load_kernel = -1.f; + + //! \~english CPU load in user space + //! \~russian Загрузка CPU в пространстве пользователя + float cpu_load_user = -1.f; + + //! \~english Date and time of creation + //! \~russian Дата и время создания PIDateTime created; }; #pragma pack(pop) + //! \ingroup System + //! \~\brief + //! \~english Process statistics. + //! \~russian Статистика процесса. struct PIP_EXPORT ProcessStats: ProcessStatsFixed { + + //! \~english Fill human-readable fields + //! \~russian Заполнить читаемые поля void makeStrings(); + + //! \~english Execution command + //! \~russian Команда запуска PIString exec_name; + + //! \~english State + //! \~russian Состояние PIString state; + + //! \~english Human-readable physical memory + //! \~russian Физическая память в читаемом виде PIString physical_memsize_readable; + + //! \~english Human-readable resident memory + //! \~russian Резидентная память в читаемом виде PIString resident_memsize_readable; + + //! \~english Human-readable share memory + //! \~russian Разделяемая память в читаемом виде PIString share_memsize_readable; + + //! \~english Human-readable virtual memory + //! \~russian Виртуальная память в читаемом виде PIString virtual_memsize_readable; + + //! \~english Human-readable data memory + //! \~russian Память данных в читаемом виде PIString data_memsize_readable; }; + //! \ingroup System + //! \~\brief + //! \~english Thread statistics. + //! \~russian Статистика потока. struct PIP_EXPORT ThreadStats: ThreadStatsFixed { + + //! \~english Name + //! \~russian Имя PIString name; }; #ifndef MICRO_PIP + + //! \~english Starts monitoring of process with PID "pID" and update interval "interval_ms" milliseconds + //! \~russian Начинает мониторинг процесса с PID "pID" и интервалом обновления "interval_ms" миллисекунд bool startOnProcess(int pID, int interval_ms = 1000); #endif + + //! \~english Starts monitoring of application process with update interval "interval_ms" milliseconds + //! \~russian Начинает мониторинг процесса приложения с интервалом обновления "interval_ms" миллисекунд bool startOnSelf(int interval_ms = 1000); + + //! \~english Stop monitoring + //! \~russian Останавливает мониторинг void stop(); + + //! \~english Returns monitoring process PID + //! \~russian Возвращает PID наблюдаемого процесса int pID() const {return pID_;} + + //! \~english Returns monitoring process statistics + //! \~russian Возвращает статистику наблюдаемого процесса ProcessStats statistic() const; + + //! \~english Returns monitoring process threads statistics + //! \~russian Возвращает статистику потоков наблюдаемого процесса PIVector threadsStatistic() const; + void setStatistic(const ProcessStats & s); + + //! \~english + //! \~russian static ullong totalRAM(); + + //! \~english + //! \~russian static ullong freeRAM(); + + //! \~english + //! \~russian static ullong usedRAM(); @@ -131,6 +276,9 @@ private: }; +//! \relatesalso PICout +//! \~english Output operator to \a PICout +//! \~russian Оператор вывода в \a PICout inline PICout operator <<(PICout s, const PISystemMonitor::ThreadStats & v) { s.setControl(0, true); s << "ThreadInfo(\"" << v.name << "\", created " << v.created @@ -142,9 +290,25 @@ inline PICout operator <<(PICout s, const PISystemMonitor::ThreadStats & v) { return s; } + +//! \relatesalso PIByteArray +//! \~english Store operator +//! \~russian Оператор сохранения PIP_EXPORT PIByteArray & operator <<(PIByteArray & s, const PISystemMonitor::ProcessStats & v); + +//! \relatesalso PIByteArray +//! \~english Restore operator +//! \~russian Оператор извлечения PIP_EXPORT PIByteArray & operator >>(PIByteArray & s, PISystemMonitor::ProcessStats & v); + +//! \relatesalso PIByteArray +//! \~english Store operator +//! \~russian Оператор сохранения PIP_EXPORT PIByteArray & operator <<(PIByteArray & s, const PISystemMonitor::ThreadStats & v); + +//! \relatesalso PIByteArray +//! \~english Restore operator +//! \~russian Оператор извлечения PIP_EXPORT PIByteArray & operator >>(PIByteArray & s, PISystemMonitor::ThreadStats & v); #endif // PISYSTEMMONITOR_H