/* PIP - Platform Independent Primitives Introspection module - base macros and types Ivan Pelipenko peri4ko@yandex.ru This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ //! \defgroup Introspection Introspection //! \~\brief //! \~english Internal PIP introspection //! \~russian Внутренняя интроспекция PIP //! //! \~\details //! \~english \section cmake_module_Introspection Building with CMake //! \~russian \section cmake_module_Introspection Сборка с использованием 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 #include "pibase.h" class PIString; class PIThread; class PITimer; class PIPeer; class PIIntrospection; class PIIntrospectionServer; #if defined(PIP_INTROSPECTION) && !defined(PIP_FORCE_NO_PIINTROSPECTION) # define __PIINTROSPECTION_SINGLETON_H__(T) static PIIntrospection##T##Interface * instance(); # define __PIINTROSPECTION_SINGLETON_CPP__(T) \ PIIntrospection##T##Interface * PIIntrospection##T##Interface::instance() { \ static PIIntrospection##T##Interface ret; \ return &ret; \ } #endif // PIP_INTROSPECTION #endif // PIINTROSPECTION_BASE_H