OpenTTD Source: IniFile Struct Reference

OpenTTD Source 14.1

Public Member Functions
IniFile Struct Reference

Ini file that supports both loading and saving. More...

`#include <ini_type.h>`

Inheritance diagram for IniFile:

## 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...
FILE * | 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 (const std::string &name) const
| Get the group with the given name. More...
IniGroup * | GetGroup (const std::string &name)
| Get the group with the given name. More...
IniGroup & | GetOrCreateGroup (const std::string &name)
| Get the group with the given name, and if it doesn't exist create a new group. More...
IniGroup & | CreateGroup (const std::string &name)
| Create an group with the given name. More...
void | RemoveGroup (const std::string &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.

## Detailed Description

Ini file that supports both loading and saving.

Definition at line 88 of file ini_type.h.

## Constructor & Destructor Documentation

## ◆ IniFile()

IniFile::IniFile | ( | const IniGroupNameList & | list_group_names = `{}` | ) |

Create a new ini file with given group names.

Parameters

  list_group_names | A list with group names that should be loaded as lists instead of variables.

See also
  IGT_LIST

Definition at line 33 of file ini.cpp.

## Member Function Documentation

## ◆ OpenFile()

FILE * IniFile::OpenFile | ( | const std::string & | filename,
|  | Subdirectory | subdir,
|  | size_t * | size
| ) |  |
| overridevirtual

Open the INI file.

Parameters

  | filename | Name of the INI file.
  | subdir | The subdir to load the file from.
  [out] | size | Size of the opened file.

Returns
  File handle of the opened file, or `nullptr`.

Implements IniLoadFile.

Definition at line 103 of file ini.cpp.

References FioFOpenFile().

## ◆ ReportFileError()

void IniFile::ReportFileError | ( | const char *const | pre,
|  | const char *const | buffer,
|  | const char *const | post
| ) |  |
| overridevirtual

Report an error about the file contents.

Parameters

  pre | Prefix text of the buffer part.
  buffer | Part of the file with the error.
  post | Suffix text of the buffer part.

Implements IniLoadFile.

Definition at line 110 of file ini.cpp.

## ◆ SaveToDisk()

bool IniFile::SaveToDisk | ( | const std::string & | filename | ) |

Save the Ini file's data to the disk.

Parameters

  filename | the file to save to.

Returns
  true if saving succeeded.

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().

The documentation for this struct was generated from the following files:

- src/ini_type.h
- src/ini.cpp