OpenTTD Source
20241108-master-g80f628063a
|
Ini file that supports both loading and saving. More...
#include <ini_type.h>
Public Member Functions | |
IniFile (const IniGroupNameList &list_group_names={}) | |
Create a new ini file with given group names. More... | |
bool | SaveToDisk (const std::string &filename) |
Save the Ini file's data to the disk. More... | |
std::optional< FileHandle > | OpenFile (const std::string &filename, Subdirectory subdir, size_t *size) override |
Open the INI file. More... | |
void | ReportFileError (const char *const pre, const char *const buffer, const char *const post) override |
Report an error about the file contents. More... | |
Public Member Functions inherited from IniLoadFile | |
IniLoadFile (const IniGroupNameList &list_group_names={}, const IniGroupNameList &seq_group_names={}) | |
Construct a new in-memory Ini file representation. More... | |
const IniGroup * | GetGroup (std::string_view name) const |
Get the group with the given name. More... | |
IniGroup * | GetGroup (std::string_view name) |
Get the group with the given name. More... | |
IniGroup & | GetOrCreateGroup (std::string_view name) |
Get the group with the given name, and if it doesn't exist create a new group. More... | |
IniGroup & | CreateGroup (std::string_view name) |
Create an group with the given name. More... | |
void | RemoveGroup (std::string_view name) |
Remove the group with the given name. More... | |
void | LoadFromDisk (const std::string &filename, Subdirectory subdir) |
Load the Ini file's data from the disk. More... | |
Additional Inherited Members | |
Public Types inherited from IniLoadFile | |
using | IniGroupNameList = std::initializer_list< std::string_view > |
Data Fields inherited from IniLoadFile | |
std::list< IniGroup > | groups |
all groups in the ini | |
std::string | comment |
last comment in file | |
const IniGroupNameList | list_group_names |
list of group names that are lists | |
const IniGroupNameList | seq_group_names |
list of group names that are sequences. | |
Ini file that supports both loading and saving.
Definition at line 88 of file ini_type.h.
IniFile::IniFile | ( | const IniGroupNameList & | list_group_names = {} | ) |
|
overridevirtual |
Open the INI file.
filename | Name of the INI file. | |
subdir | The subdir to load the file from. | |
[out] | size | Size of the opened file. |
std::nullopt
. Implements IniLoadFile.
Definition at line 103 of file ini.cpp.
References FioFOpenFile().
|
overridevirtual |
Report an error about the file contents.
pre | Prefix text of the buffer part. |
buffer | Part of the file with the error. |
post | Suffix text of the buffer part. |
Implements IniLoadFile.
bool IniFile::SaveToDisk | ( | const std::string & | filename | ) |
Save the Ini file's data to the disk.
filename | the file to save to. |
Definition at line 42 of file ini.cpp.
References IniItem::comment, IniLoadFile::comment, Debug, IniLoadFile::groups, IniItem::name, OTTD2FS(), and IniItem::value.
Referenced by DeleteGRFPresetFromConfig(), and WindowDesc::SaveToConfig().