OpenTTD Source
1.11.2
|
Ini file that only supports loading. More...
#include <ini_type.h>
Public Member Functions | |
IniLoadFile (const char *const *list_group_names=nullptr, const char *const *seq_group_names=nullptr) | |
Construct a new in-memory Ini file representation. More... | |
virtual | ~IniLoadFile () |
Free everything we loaded. | |
IniGroup * | GetGroup (const std::string &name, bool create_new=true) |
Get the group with the given name. More... | |
void | RemoveGroup (const char *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... | |
virtual FILE * | OpenFile (const std::string &filename, Subdirectory subdir, size_t *size)=0 |
Open the INI file. More... | |
virtual void | ReportFileError (const char *const pre, const char *const buffer, const char *const post)=0 |
Report an error about the file contents. More... | |
Data Fields | |
IniGroup * | group |
the first group in the ini | |
IniGroup ** | last_group |
the last group in the ini | |
std::string | comment |
last comment in file | |
const char *const * | list_group_names |
nullptr terminated list with group names that are lists | |
const char *const * | seq_group_names |
nullptr terminated list with group names that are sequences. | |
Ini file that only supports loading.
Definition at line 54 of file ini_type.h.
IniLoadFile::IniLoadFile | ( | const char *const * | list_group_names = nullptr , |
const char *const * | seq_group_names = nullptr |
||
) |
Construct a new in-memory Ini file representation.
list_group_names | A nullptr terminated list with group names that should be loaded as lists instead of variables. |
seq_group_names | A nullptr terminated list with group names that should be loaded as lists of names. |
Definition at line 122 of file ini_load.cpp.
References group, and last_group.
IniGroup * IniLoadFile::GetGroup | ( | const std::string & | name, |
bool | create_new = true |
||
) |
Get the group with the given name.
If it doesn't exist and create_new is true
create a new group.
name | name of the group to find. |
create_new | Allow creation of group if it does not exist. |
nullptr
. Definition at line 143 of file ini_load.cpp.
References IniGroup::comment, group, IniGroup::name, and IniGroup::next.
Referenced by DumpGroup(), DumpSections(), BaseSet< GraphicsSet, MAX_GFT, true >::FillSetDetails(), GRFLoadConfig(), IniLoadSettingList(), IniLoadSettings(), IniSaveSettingList(), HotkeyList::Load(), HotkeyList::Save(), and SaveVersionInConfig().
void IniLoadFile::LoadFromDisk | ( | const std::string & | filename, |
Subdirectory | subdir | ||
) |
Load the Ini file's data from the disk.
filename | the file to load. |
subdir | the sub directory to load the file from. |
Definition at line 195 of file ini_load.cpp.
References IniItem::comment, IniGroup::comment, comment, group, IGT_SEQUENCE, last_group, OpenFile(), ReallocT(), ReportFileError(), IniGroup::type, and IniItem::value.
Referenced by BaseMedia< GraphicsSet >::AddFile(), WindowDesc::LoadFromConfig(), LoadIniFile(), and WindowDesc::SaveToConfig().
|
pure virtual |
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. |
nullptr
. Implemented in SettingsIniFile, and IniFile.
Referenced by LoadFromDisk().
void IniLoadFile::RemoveGroup | ( | const char * | name | ) |
Remove the group with the given name.
name | name of the group to remove. |
Definition at line 162 of file ini_load.cpp.
References group, last_group, IniGroup::name, and IniGroup::next.
|
pure virtual |
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. |
Implemented in SettingsIniFile, and IniFile.
Referenced by LoadFromDisk().