OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

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 char *const *list_group_names=NULL)
| Create a new ini file with given group names.
bool | SaveToDisk (const char *filename)
| Save the Ini file's data to the disk.
virtual FILE * | OpenFile (const char *filename, Subdirectory subdir, size_t *size)
| Open the INI file.
virtual void | ReportFileError (const char *const pre, const char *const buffer, const char *const post)
| Report an error about the file contents.
Public Member Functions inherited from IniLoadFile
| IniLoadFile (const char *const *list_group_names=NULL, const char *const *seq_group_names=NULL)
| Construct a new in-memory Ini file representation.
virtual | ~IniLoadFile ()
| Free everything we loaded.
IniGroup * | GetGroup (const char *name, size_t len=0, bool create_new=true)
| Get the group with the given name.
void | RemoveGroup (const char *name)
| Remove the group with the given name.
void | LoadFromDisk (const char *filename, Subdirectory subdir)
| Load the Ini file's data from the disk.

## Additional Inherited Members
Data Fields inherited from IniLoadFile
IniGroup * | group
| the first group in the ini
IniGroup ** | last_group
| the last group in the ini
char * | comment
| last comment in file
const char *const * | list_group_names
| NULL terminated list with group names that are lists.
const char *const * | seq_group_names
| NULL terminated list with 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 | ( | const char *const * | list_group_names = `NULL` | ) |

Create a new ini file with given group names.

Parameters

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

See Also
  IGT_LIST

Definition at line 35 of file ini.cpp.

## Member Function Documentation

FILE * IniFile::OpenFile | ( | const char * | filename,
|  | Subdirectory | subdir,
|  | size_t * | size
| ) |  |
| virtual

Open the INI file.

Parameters

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

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

Implements IniLoadFile.

Definition at line 121 of file ini.cpp.

References FioFOpenFile().

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

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 128 of file ini.cpp.

References ShowInfoF().

bool IniFile::SaveToDisk | ( | const char * | 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 44 of file ini.cpp.

References IniGroup::comment, IniLoadFile::comment, DEBUG, IniLoadFile::group, IniGroup::item, lastof, MemSetT(), IniGroup::name, IniItem::next, IniGroup::next, OTTD2FS(), strecat(), and strecpy().

Referenced by DeleteGRFPresetFromConfig(), SaveGRFPresetToConfig(), and SaveToConfig().

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

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