ConfigFile

Inherits: Reference < Object

Category: Core

Brief Description

Helper class to handle INI-style files.

Member Functions

StringArray get_section_keys ( String section ) const
StringArray get_sections ( ) const
Variant get_value ( String section, String key, Variant default=NULL ) const
bool has_section ( String section ) const
bool has_section_key ( String section, String key ) const
Error load ( String path )
Error save ( String path )
void set_value ( String section, String key, Variant value )

Description

This helper class can be used to store Variant values on the filesystem using an INI-style formatting. The stored values as referenced by a section and a key. The stored data can be saved to or parsed from a file, though ConfigFile objects can also be used directly with accessing the filesystem.

The following example shows how to parse a INI-style file from the system, read its contents and store new values in it:

var config = ConfigFile.new()
var err = config.load("user://settings.cfg")
if err == OK: # if not, something went wrong with the file loading
    # Look for the display/width pair, and default to 1024 if missing
    var screen_width = get_value("display", "width", 1024)
    # Store a variable if and only it hasn't been defined yet
    if not config.has_section_key("audio", "mute"):
        config.set_value("audio", "mute", false)
    # Save the changes by overwriting the previous file
    config.save("user://settings.cfg")

Member Function Description

StringArray get_section_keys ( String section ) const

Return an array of all defined key identifiers in the specified section.

StringArray get_sections ( ) const

Return an array of all defined section identifiers.

Variant get_value ( String section, String key, Variant default=NULL ) const

Return the current value for the specified section and key. If the section and/or the key do not exist, the method returns the value of the optional default argument (and thus NULL if not specified).

bool has_section ( String section ) const

Check if the specified section exists.

bool has_section_key ( String section, String key ) const

Check if the specified section-key pair exists.

Error load ( String path )

Load the config file specified as a parameter. The file’s contents are parsed and loaded in the ConfigFile object from which the method was called. The return value is one of the OK, FAILED or ERR_* constants listed in @Global Scope (if the load was successful, it returns OK).

Error save ( String path )

Save the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure.

The return value is one of the OK, FAILED or ERR_* constants listed in @Global Scope (if the save was successful, it returns OK).

void set_value ( String section, String key, Variant value )

Assign a value to the specified key of the the specified section. If the section and/or the key do not exist, they are created. Passing a NULL value deletes the specified key if it exists (and deletes the section if it ends up empty once the key has been removed).

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/2.1/classes/class_configfile.html