- Page principale
- Espaces de nommage
- Classes
- Fichiers

- Liste des fichiers
- Membres de fichier

# src/IniFile/IniFile.hpp

Aller à la documentation de ce fichier.

    00001 #ifndef INIFILE_HPP
    00002 #define INIFILE_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 // C++
    00008 #include <string>
    00009 #include <vector>
    00010
    00011
    00012 namespace USpeedGameEngine
    00013 {
    00014
    00015 class IniFile
    00016 {
    00017     /****************
    00018     * Les attributs *
    00019     ****************/
    00020     public :
    00024         struct IniCouple
    00025         {
    00026             std::string key;
    00027             std::string value;
    00028         };
    00029
    00033         struct IniSection
    00034         {
    00035             std::string sectionName;
    00036             std::vector<struct IniCouple *> couples;
    00037         };
    00038
    00039     protected :
    00040     private :
    00041         std::vector<struct IniSection *> iniValues;
    00042
    00043     /***************
    00044     * Les méthodes *
    00045     ***************/
    00046     public :
    00047         // Constructeur de la classe
    00048         IniFile();
    00049         // Destructeur de la classe
    00050         ~IniFile();
    00051         // Charge le fichier INI spécifié
    00052         bool load(const char *filename);
    00053         // Charge les données INI spécifiées
    00054         bool loadFromBuffer(std::string const &data);
    00055         // Retourne la valeur pour la clé et la section spécifiée
    00056         std::string getValue(const char *section, const char *key, const char *defaultValue);
    00057         std::string getValue(std::string const &section, std::string const &key, std::string const &defaultValue);
    00058         void getValue(const char *key, const char *defaultValue, std::string &target);
    00059         void getValue(const char *section, const char *key, const char *defaultValue, std::string &target);
    00060         // Permet de savoir si il y a des données ou pas
    00061         bool isEmpty();
    00062         // Efface tout
    00063         void reset();
    00064     protected :
    00065     private :
    00066         // Fonction qui recherche la section donnée (ou la crée) et y ajoute le couple clé/valeur
    00067         void loadValue(std::string const &section, std::string const &key, std::string const &value);
    00068 };
    00069
    00070 }        // Fin "namespace USpeedGameEngine"
    00071
    00072 #endif