# Ogre::ConfigFile Class Reference

Class for quickly loading settings from a text file. More...

`#include <OgreConfigFile.h>`

List of all members.

## Public Types

typedef std::multimap< String, String > | SettingsMultiMap
typedef MapIterator< SettingsMultiMap > | SettingsIterator
typedef std::map< String, SettingsMultiMap * > | SettingsBySection
| Gets an iterator for stepping through all the keys / values in the file.
typedef MapIterator< SettingsBySection > | SectionIterator

## Public Member Functions

| ConfigFile ()
virtual | ~ConfigFile ()
void | load (const String &filename, const String &separators="\t:=", bool trimWhitespace=true)
| load from a filename (not using resource group locations)
void | load (const String &filename, const String &resourceGroup, const String &separators="\t:=", bool trimWhitespace=true)
| load from a filename (using resource group locations)
void | load (const DataStreamPtr &stream, const String &separators="\t:=", bool trimWhitespace=true)
| load from a data stream
void | loadDirect (const String &filename, const String &separators="\t:=", bool trimWhitespace=true)
| load from a filename (not using resource group locations)
void | loadFromResourceSystem (const String &filename, const String &resourceGroup, const String &separators="\t:=", bool trimWhitespace=true)
| load from a filename (using resource group locations)
String | getSetting (const String &key, const String &section=StringUtil::BLANK) const
| Gets the first setting from the file with the named key.
StringVector | getMultiSetting (const String &key, const String &section=StringUtil::BLANK) const
| Gets all settings from the file with the named key.
SectionIterator | getSectionIterator (void)
| Get an iterator over all the available sections in the config file.
SettingsIterator | getSettingsIterator (const String &section=StringUtil::BLANK)
| Get an iterator over all the available settings in a section.
void | clear (void)
| Clear the settings.

## Protected Attributes

SettingsBySection | mSettings

## Detailed Description

Class for quickly loading settings from a text file.

Remarks:
  This class is designed to quickly parse a simple file containing key/value pairs, mainly for use in configuration settings.

  This is a very simplified approach, no multiple values per key are allowed, no grouping or context is being kept etc.

  By default the key/values pairs are tokenised based on a separator of Tab, the colon (:) or equals (=) character. Each key - value pair must end in a carriage return.

  Settings can be optionally grouped in sections, using a header beforehand of the form [SectionName].

Definition at line 56 of file OgreConfigFile.h.

## Member Typedef Documentation

typedef MapIterator<SettingsBySection> Ogre::ConfigFile::SectionIterator

| Definition at line 85 of file OgreConfigFile.h.

typedef std::map<String, SettingsMultiMap*> Ogre::ConfigFile::SettingsBySection

| Gets an iterator for stepping through all the keys / values in the file. Definition at line 84 of file OgreConfigFile.h.

typedef MapIterator<SettingsMultiMap> Ogre::ConfigFile::SettingsIterator

| Definition at line 82 of file OgreConfigFile.h.

typedef std::multimap<String, String> Ogre::ConfigFile::SettingsMultiMap

| Definition at line 81 of file OgreConfigFile.h.

## Constructor & Destructor Documentation

Ogre::ConfigFile::ConfigFile | ( |  | ) |

virtual Ogre::ConfigFile::~ConfigFile | ( |  | ) | `[virtual]`

## Member Function Documentation

void Ogre::ConfigFile::clear | ( | void |  | ) |

| Clear the settings.

StringVector Ogre::ConfigFile::getMultiSetting | ( | const String & | key,
|  | const String & | section = `StringUtil::BLANK`
| ) | const

| Gets all settings from the file with the named key.

SectionIterator Ogre::ConfigFile::getSectionIterator | ( | void |  | ) |

| Get an iterator over all the available sections in the config file.

String Ogre::ConfigFile::getSetting | ( | const String & | key,
|  | const String & | section = `StringUtil::BLANK`
| ) | const

Gets the first setting from the file with the named key.

Parameters:

  | key | The name of the setting
  | section | The name of the section it must be in (if any)

SettingsIterator Ogre::ConfigFile::getSettingsIterator | ( | const String & | section = `StringUtil::BLANK` | ) |

| Get an iterator over all the available settings in a section.

void Ogre::ConfigFile::load | ( | const DataStreamPtr & | stream,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true`
| ) |

| load from a data stream

void Ogre::ConfigFile::load | ( | const String & | filename,
|  | const String & | resourceGroup,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true`
| ) |

| load from a filename (using resource group locations)

void Ogre::ConfigFile::load | ( | const String & | filename,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true`
| ) |

| load from a filename (not using resource group locations)

void Ogre::ConfigFile::loadDirect | ( | const String & | filename,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true`
| ) |

| load from a filename (not using resource group locations)

void Ogre::ConfigFile::loadFromResourceSystem | ( | const String & | filename,
|  | const String & | resourceGroup,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true`
| ) |

| load from a filename (using resource group locations)

## Member Data Documentation

SettingsBySection Ogre::ConfigFile::mSettings`[protected]`

| Definition at line 96 of file OgreConfigFile.h.

The documentation for this class was generated from the following file:

- OgreConfigFile.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Mon Aug 20 13:51:27 2007