//! \~\file piresources.h //! \~\ingroup Resources //! \~\brief //! \~english Resources subsystem //! \~russian Подсистема ресурсов /* PIP - Platform Independent Primitives Resources subsystem 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 Resources Resources //! \~\brief //! \~english Resources subsystem //! \~russian Подсистема ресурсов //! //! \~\details //! \~english \section cmake_module_Resources Building with CMake //! \~russian \section cmake_module_Resources Сборка с использованием 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; //! \~russian //! Иван Пелипенко peri4ko@yandex.ru; //! #ifndef PIRESOURCES_H #define PIRESOURCES_H #include "pistring.h" #ifdef DOXYGEN //! \~\ingroup Resources //! \relatesalso PIResources //! \~\brief //! \~english Registers a compiled resource module in the global storage. //! \~russian Регистрирует в глобальном хранилище модуль со вкомпиленными ресурсами. # define INIT_RESOURCE(name) #else # define INIT_RESOURCE(name) \ { \ extern void _pirc_##name##_init_(); \ _pirc_##name##_init_(); \ } #endif //! \~\ingroup Resources //! \~\brief //! \~english Access to resources embedded into the application binary. //! \~russian Доступ к ресурсам, встроенным в бинарный файл приложения. class PIP_EXPORT PIResources { public: //! \~english Returns resource data from section `section` by entry name `name`. //! \~russian Возвращает данные ресурса из секции `section` по имени элемента `name`. static PIByteArray get(const PIString & section, const PIString & name); //! \~english Returns first resource with name `name` across all registered sections. //! \~russian Возвращает первый ресурс с именем `name` среди всех зарегистрированных секций. static PIByteArray get(const PIString & name); //! \~english Prints registered resource sections and entry sizes. //! \~russian Печатает зарегистрированные секции ресурсов и размеры элементов. static void dump(); private: PIResources(); }; #endif // PIRESOURCES_H