raSystem  1.0 bata
raIni.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*
4  * Copyright (C) Jefferson 2010 <web@jeffersongta.de> / <remis80@gmx.net>
5  *
6  http://creativecommons.org/licenses/by/3.0/de/deed.en_US
7 
8  You are free:
9 
10  * to Share — to copy, distribute and transmit the work
11  * to Remix — to adapt the work
12 
13  Angepasst an raSystem von Philipp Schröck
14 */
15 
16 #define INI_DEFAULT_SECTION "rasystem"
17 
18 #define INI_MAX_LENGTH 300
19 #define INI_MAX_LINES_PER_SEC 50
20 #define INI_MAX_SECTIONS 20
21 #define INI_LINE_DONTSAVE "rasystem-notsave"
22 
23  class RAPI raIni : public IConfigFile
24  {
25  public:
26  raIni(void) : IConfigFile() { }
27 
28  virtual ~raIni(void) { }
29 
30  virtual bool Open(const char filename[]);
31  virtual void Clear();
32  virtual void Close();
33  virtual bool Good();
34 
35  virtual int GetInt(const char section[], const char key[]);
36  virtual long GetLong(const char section[], const char key[]);
37  virtual bool GetBool(const char section[], const char key[]);
38  virtual raString GetString(const char section[], const char key[]);
39  virtual raString Get(const char section[], const char key[]);
40 
41  virtual void SetInt(const char section[],const char key[], int newval);
42  virtual void SetLong(const char section[], const char key[], long newval);
43  virtual void SetBool(const char section[], const char key[], bool newval);
44  virtual void SetString(const char section[], const char key[], raString newval);
45  virtual void Set(const char section[], const char key[], const char newval[]);
46 
47  virtual void CreateSection(const char section[]);
48  virtual void RemoveSection(const char section[]);
49  virtual void RemoveEntry(const char section[], const char key[]);
50  virtual bool ValidSection(const char section[]);
51  virtual bool ValidEntry(const char section[], const char key[]);
52  virtual int CountSections();
53  virtual int CountEntries();
54 
55  private:
56  // internal functions
57  raString getKeyFromString(raString mystring);
58  raString getValueFromString(raString mystring);
59 
60  private:
61  template <class T>
62  raString numtostring(T num);
63  template <class T>
64  T stringtonum(raString mystring);
65 
66  raString filename;
67  std::vector<raString> sectionnames;
68  std::vector<std::vector<raString> > buffer;
69  bool InitGood;
70  bool Closed;
71  bool withoutSections;
72  int sections;
73  int entries;
74  };
virtual void Set(const char section[], const char key[], const char newval[])
Definition: IConfigFile.h:29
raIni(void)
Definition: raIni.h:26
virtual void Clear()
Definition: IConfigFile.h:15
virtual void SetInt(const char section[], const char key[], int newval)
Definition: IConfigFile.h:25
virtual void RemoveEntry(const char section[], const char key[])
Definition: IConfigFile.h:33
virtual void Close()
Definition: IConfigFile.h:16
#define RAPI
Definition: raMain.h:11
virtual void SetBool(const char section[], const char key[], bool newval)
Definition: IConfigFile.h:27
virtual bool Open(const char filename[])
Definition: IConfigFile.h:14
virtual void CreateSection(const char section[])
Definition: IConfigFile.h:31
virtual bool Good()
Definition: IConfigFile.h:17
virtual void SetLong(const char section[], const char key[], long newval)
Definition: IConfigFile.h:26
virtual int GetInt(const char section[], const char key[])
Definition: IConfigFile.h:19
virtual bool ValidSection(const char section[])
Definition: IConfigFile.h:34
virtual int CountSections()
Definition: IConfigFile.h:36
virtual void SetString(const char section[], const char key[], raString newval)
Definition: IConfigFile.h:28
virtual raString Get(const char section[], const char key[])
Definition: IConfigFile.h:23
virtual bool GetBool(const char section[], const char key[])
Definition: IConfigFile.h:21
virtual ~raIni(void)
Definition: raIni.h:28
std::string raString
Definition: raMain.h:107
virtual int CountEntries()
Definition: IConfigFile.h:37
virtual raString GetString(const char section[], const char key[])
Definition: IConfigFile.h:22
Definition: raIni.h:23
virtual bool ValidEntry(const char section[], const char key[])
Definition: IConfigFile.h:35
virtual void RemoveSection(const char section[])
Definition: IConfigFile.h:32
virtual long GetLong(const char section[], const char key[])
Definition: IConfigFile.h:20