00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00026
00027 #ifndef __INIFILE_H__
00028 #define __INIFILE_H__
00029
00030 #include <string>
00031 #include <iostream>
00032 #include <map>
00033 #include "H3DApi.h"
00034
00035 namespace H3D {
00036
00037 class H3DAPI_API INIFile {
00038 public:
00039
00040 INIFile( const std::string &file );
00041
00042
00043 INIFile( std::istream& in );
00044
00045
00046 std::string INIFile::get( std::string group,
00047 std::string name ) const;
00048
00049
00050 bool INIFile::getBoolean( std::string group,
00051 std::string name ) const;
00052
00053
00054 bool hasOption( std::string group,
00055 std::string name ) const;
00056
00057 private:
00058 void parseStream( std::istream &is );
00059
00060 void parseLine( std::string line,
00061 std::string group,
00062 unsigned count );
00063
00064 std::map<std::string, std::map<std::string, std::string> > parsed_;
00065 };
00066
00067 };
00068
00069 #endif