#include <app_paths.hpp>
Объекты типа app_paths_t могут быть созданы и использованы по желанию программиста, но предполагается, что должен использоваться единственный объект-синглетон, доступный через метод instance().
Работать с именами путей можно двумя способами.
Во-первых, можно получать имя конкретного каталога методами-getter-ами (etc_path(), log_path(), data_path(), tmp_path()) и вручную затем формировать имена файлов внутри этих каталогов. При этом нужно помнить, что возвращаемые геттерами значения уже содержат завершающий слеш. А так же то, что методы сеттеры автоматический добаляют к указанному пути завершающий слеш, если слеша еще не было.
Во-вторых, можно получать готовые имена файлов с помощью методов etc_file_name(), log_file_name(), data_file_name(), tmp_file_name().
Иногда могут возникать ситуации, когда желательно узнать, был ли явно задан какой-либо из путей, или будет использовано значение по умолчанию. Для этих ситуаций предназначены методы is_default_etc_path(), is_default_log_path(), is_default_data_path(), is_default_tmp_path(). Если для инициализации объекта app_paths_t использовался конструктор по-умолчанию, и не было вызвано методов setter-ов, то данные методы возвращают true. Если же метод-setter был задействован (непосредственно или через инициализирующий конструктор), то соответствующий метод is_default_* будет возвращать false.
Открытые члены | |
app_paths_t () | |
app_paths_t (const std::string &etc_path, const std::string &log_path, const std::string &data_path, const std::string &tmp_path) | |
Getters/Setters. | |
const std::string & | etc_path () const |
void | set_etc_path (const std::string &path) |
bool | is_default_etc_path () const |
const std::string & | log_path () const |
void | set_log_path (const std::string &path) |
bool | is_default_log_path () const |
const std::string & | data_path () const |
void | set_data_path (const std::string &path) |
bool | is_default_data_path () const |
const std::string & | tmp_path () const |
void | set_tmp_path (const std::string &path) |
bool | is_default_tmp_path () const |
Получение готовых имен файлов в нужных местах. | |
std::string | etc_file_name (const std::string &file_name) |
std::string | log_file_name (const std::string &file_name) |
std::string | data_file_name (const std::string &file_name) |
std::string | tmp_file_name (const std::string &file_name) |
Открытые статические члены | |
static app_paths_t * | instance () |
Получить указатель на объект-синглетон. | |
Закрытые данные | |
Значения путей. | |
std::string | m_etc_path |
bool | m_is_default_etc_path |
std::string | m_log_path |
bool | m_is_default_log_path |
std::string | m_data_path |
bool | m_is_default_data_path |
std::string | m_tmp_path |
bool | m_is_default_tmp_path |
so_sysconf_2::app_paths_t::app_paths_t | ( | ) |
Всем путям присваивается значение по умолчанию: ./ (текущий каталог).
so_sysconf_2::app_paths_t::app_paths_t | ( | const std::string & | etc_path, | |
const std::string & | log_path, | |||
const std::string & | data_path, | |||
const std::string & | tmp_path | |||
) |
Полностью инициализирующий конструктор. Если в заданных именах отсутствует завершающий слеш, то он добавляется автоматически.
etc_path | Путь к конфигурационным файлам. |
log_path | Путь к логам. |
data_path | Путь к файлам данных. |
tmp_path | Путь к временным файлам. |
const std::string & so_sysconf_2::app_paths_t::etc_path | ( | ) | const |
std::string so_sysconf_2::app_paths_t::etc_file_name | ( | const std::string & | file_name | ) |
app_paths_t * so_sysconf_2::app_paths_t::instance | ( | ) | [static] |
Получить указатель на объект-синглетон.
std::string so_sysconf_2::app_paths_t::m_etc_path [private] |
Документация по so_sysconf_2 v.2.4.0. Последние изменения: Wed Oct 31 18:55:07 2007. Создано системой 1.5.4 |