Files
pip/libs/main/resources/piresources.h
2026-03-12 14:46:57 +03:00

101 lines
3.4 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//! \~\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 <http://www.gnu.org/licenses/>.
*/
//! \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