libassa  3.5.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ASSA::IniFile Class Reference

#include <IniFile.h>

Public Types

typedef pair< string, string > tuple_type
 A tuple is a name/value pair. More...
 
typedef pair< string, list
< tuple_type > > 
sect_type
 A section is a logical subcategory of related configuration information. More...
 
typedef list< sect_typeconfig_type
 INI configuration is the collection of sections. More...
 
typedef config_type::iterator config_iterator
 Mutable iterator over the list of configuration sections. More...
 
typedef config_type::const_iterator const_config_iterator
 Constant iterator over the list of configuration sections. More...
 
typedef list< tuple_type >
::iterator 
tuple_iterator
 Mutable iterator over name/value pairs in a section. More...
 
typedef list< tuple_type >
::const_iterator 
const_tuple_iterator
 Constant iterator over name/value pairs in a section. More...
 

Public Member Functions

 IniFile (const string &fname_)
 Do-nothing constructor. More...
 
 ~IniFile ()
 Destructor does not save cache data to the file. More...
 
bool operator== (const IniFile &rhs_) const
 Compare two configurations. More...
 
bool operator!= (const IniFile &rhs_) const
 Compare two configurations. More...
 
int load ()
 Load configuration data from the file. More...
 
void drop_all ()
 Clear up configuration cache. More...
 
int sync ()
 Write cached configuration to the file. More...
 
int sync (const string &fname_)
 Write cached configuration to the file fname_. More...
 
void add_section (const string &section_)
 Add new section. More...
 
int drop_section (const string &section_)
 Remove section from cache. More...
 
int set_pair (const string &section_, const tuple_type &newkey_)
 Add or change name/value pair in the section. More...
 
int drop_pair (const string &section_, const string &name_)
 Remove name/value pair from the section in cache. More...
 
string get_value (const string &section_, const string &name_) const
 Find and return a value of the name/value pair in the section section_. More...
 
config_iterator find_section (const string &section_)
 Find section by its name. More...
 
const_config_iterator find_section (const string &section_) const
 Find section by its name. More...
 
const_config_iterator sect_begin () const
 Return iterator to the first section. More...
 
config_iterator sect_end ()
 Return iterator past the last section. More...
 
unsigned int size () const
 Return number of sections in the cache. More...
 
void dump () const
 Dump cache to the log file. More...
 

Private Member Functions

int trim_section_name (string &text_)
 Remove square brakets around section name. More...
 

Private Attributes

string m_fname
 INI file name. More...
 
std::fstream m_stream
 File stream. More...
 
config_type m_config
 Cache holds the entire INI file in memory. More...
 
Regexp m_section_pttrn
 Section header match. More...
 
Regexp m_tuple_pttrn
 Name/value pair match. More...
 
Regexp m_comment_pttrn
 Comment match. More...
 

Detailed Description

Definition at line 39 of file IniFile.h.

Member Typedef Documentation

typedef config_type::iterator ASSA::IniFile::config_iterator

Mutable iterator over the list of configuration sections.

Definition at line 56 of file IniFile.h.

INI configuration is the collection of sections.

Definition at line 53 of file IniFile.h.

typedef config_type::const_iterator ASSA::IniFile::const_config_iterator

Constant iterator over the list of configuration sections.

Definition at line 59 of file IniFile.h.

typedef list<tuple_type>::const_iterator ASSA::IniFile::const_tuple_iterator

Constant iterator over name/value pairs in a section.

Definition at line 65 of file IniFile.h.

typedef pair<string, list<tuple_type> > ASSA::IniFile::sect_type

A section is a logical subcategory of related configuration information.

Definition at line 49 of file IniFile.h.

typedef list<tuple_type>::iterator ASSA::IniFile::tuple_iterator

Mutable iterator over name/value pairs in a section.

Definition at line 62 of file IniFile.h.

typedef pair<string, string> ASSA::IniFile::tuple_type

A tuple is a name/value pair.

Definition at line 44 of file IniFile.h.

Constructor & Destructor Documentation

IniFile::IniFile ( const string &  fname_)

Do-nothing constructor.

Parameters
fname_Name of the INI file

Definition at line 23 of file IniFile.cpp.

References ASSA::INIFILE, and trace_with_mask.

24  :
25  m_fname (fname_),
26  m_section_pttrn ("\\[[a-zA-Z0-9]+.*] *$"),
27  m_tuple_pttrn ("^[ \t]*[a-zA-Z0-9]+.* *= *.*"),
28  m_comment_pttrn ("^#.*$")
29 {
30  trace_with_mask ("IniFile::IniFile", INIFILE);
31 }
Class IniFile messages.
Definition: LogMask.h:52
Regexp m_section_pttrn
Section header match.
Definition: IniFile.h:202
string m_fname
INI file name.
Definition: IniFile.h:193
Regexp m_comment_pttrn
Comment match.
Definition: IniFile.h:208
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
Regexp m_tuple_pttrn
Name/value pair match.
Definition: IniFile.h:205
IniFile::~IniFile ( )

Destructor does not save cache data to the file.

You should explicitly call sync() if you want your data to be saved to the file.

Definition at line 34 of file IniFile.cpp.

References ASSA::INIFILE, m_config, and trace_with_mask.

35 {
36  trace_with_mask ("IniFile::~IniFile", INIFILE);
37  m_config.clear ();
38 }
Class IniFile messages.
Definition: LogMask.h:52
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199

Member Function Documentation

void IniFile::add_section ( const string &  section_)

Add new section.

Parameters
section_Section name to add

Definition at line 189 of file IniFile.cpp.

References find_section(), and m_config.

190 {
191  const_config_iterator i = find_section (section_);
192  if (i == m_config.end ()) {
193  m_config.push_back (sect_type (section_, std::list<tuple_type> ()));
194  }
195 }
config_type::const_iterator const_config_iterator
Constant iterator over the list of configuration sections.
Definition: IniFile.h:59
config_iterator find_section(const string &section_)
Find section by its name.
Definition: IniFile.cpp:199
pair< string, list< tuple_type > > sect_type
A section is a logical subcategory of related configuration information.
Definition: IniFile.h:49
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
void ASSA::IniFile::drop_all ( )
inline

Clear up configuration cache.

Definition at line 100 of file IniFile.h.

References m_config.

100 { m_config.clear (); }
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
int IniFile::drop_pair ( const string &  section_,
const string &  name_ 
)

Remove name/value pair from the section in cache.

Parameters
section_Section that holds name/value pair.
name_Name part of name/value pair.
Returns
0 on success; -1 if section_ or name_ was not found

Definition at line 267 of file IniFile.cpp.

References DL, find_section(), ASSA::INIFILE, sect_end(), and trace_with_mask.

268 {
269  trace_with_mask ("IniFile::drop_pair", INIFILE);
270 
271  config_iterator i = find_section (section_);
272  if (i == sect_end ()) {
273  DL((INIFILE,"Section [%s] is not found!\n", section_.c_str ()));
274  return -1;
275  }
276 
277  tuple_iterator j = (*i).second.begin ();
278  while (j != (*i).second.end ()) {
279  if ((*j).first == name_) {
280  (*i).second.erase (j);
281  return 0;
282  }
283  j++;
284  }
285  return -1;
286 }
Class IniFile messages.
Definition: LogMask.h:52
config_iterator sect_end()
Return iterator past the last section.
Definition: IniFile.h:174
#define DL(X)
A macro for writing debug message to the Logger.
Definition: Logger.h:273
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
config_type::iterator config_iterator
Mutable iterator over the list of configuration sections.
Definition: IniFile.h:56
config_iterator find_section(const string &section_)
Find section by its name.
Definition: IniFile.cpp:199
list< tuple_type >::iterator tuple_iterator
Mutable iterator over name/value pairs in a section.
Definition: IniFile.h:62
int IniFile::drop_section ( const string &  section_)

Remove section from cache.

Parameters
section_Section to remove
Returns
0 on success; -1 if section was not found

Definition at line 252 of file IniFile.cpp.

References DL, find_section(), ASSA::INIFILE, m_config, sect_end(), and trace_with_mask.

253 {
254  trace_with_mask ("IniFile::drop_section", INIFILE);
255 
256  config_iterator i = find_section (section_);
257  if (i == sect_end ()) {
258  DL((INIFILE,"Section [%s] is not found!\n", section_.c_str ()));
259  return -1;
260  }
261  m_config.erase (i);
262  return 0;
263 }
Class IniFile messages.
Definition: LogMask.h:52
config_iterator sect_end()
Return iterator past the last section.
Definition: IniFile.h:174
#define DL(X)
A macro for writing debug message to the Logger.
Definition: Logger.h:273
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
config_type::iterator config_iterator
Mutable iterator over the list of configuration sections.
Definition: IniFile.h:56
config_iterator find_section(const string &section_)
Find section by its name.
Definition: IniFile.cpp:199
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
void IniFile::dump ( void  ) const

Dump cache to the log file.

Definition at line 141 of file IniFile.cpp.

References DL, ASSA::INIFILE, m_config, and trace_with_mask.

142 {
143  trace_with_mask ("IniFile::dump", INIFILE);
144 
145  const_config_iterator i = m_config.begin ();
147 
148  DL((INIFILE,"============= Start =================\n"));
149 
150  while (i != m_config.end ()) {
151  DL((INIFILE, "[%s]\n", (*i).first.c_str ()));
152  j = (*i).second.begin ();
153  while (j != (*i).second.end ()) {
154  DL((INIFILE, " %s=\%s\n",
155  (*j).first.c_str (), (*j).second.c_str ()));
156  j++;
157  }
158  i++;
159  }
160  DL((INIFILE,"============== End =================\n"));
161 }
Class IniFile messages.
Definition: LogMask.h:52
#define DL(X)
A macro for writing debug message to the Logger.
Definition: Logger.h:273
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
config_type::const_iterator const_config_iterator
Constant iterator over the list of configuration sections.
Definition: IniFile.h:59
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
list< tuple_type >::const_iterator const_tuple_iterator
Constant iterator over name/value pairs in a section.
Definition: IniFile.h:65
IniFile::config_iterator IniFile::find_section ( const string &  section_)

Find section by its name.

Parameters
section_Section name to earch for
Returns
An iterator pointing to sect_type of the section if it is found or pointing to sect_end() if not.

Definition at line 199 of file IniFile.cpp.

References m_config.

Referenced by add_section(), drop_pair(), drop_section(), ASSA::CmdLineOpts::parse_config_file(), and set_pair().

200 {
201  config_iterator i = m_config.begin ();
202 
203  while (i != m_config.end ()) {
204  if ((*i).first == section_) {
205  return (i);
206  }
207  i++;
208  }
209  return m_config.end ();
210 }
config_type::iterator config_iterator
Mutable iterator over the list of configuration sections.
Definition: IniFile.h:56
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
IniFile::const_config_iterator IniFile::find_section ( const string &  section_) const

Find section by its name.

Parameters
section_Section name to earch for
Returns
An iterator pointing to the sect_type of the section if it is found or pointing to sect_end() if not.

Definition at line 214 of file IniFile.cpp.

References m_config.

215 {
216  const_config_iterator i = m_config.begin ();
217 
218  while (i != m_config.end ()) {
219  if ((*i).first == section_) {
220  return (i);
221  }
222  i++;
223  }
224  return m_config.end ();
225 }
config_type::const_iterator const_config_iterator
Constant iterator over the list of configuration sections.
Definition: IniFile.h:59
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
string IniFile::get_value ( const string &  section_,
const string &  name_ 
) const

Find and return a value of the name/value pair in the section section_.

Parameters
section_Section name to search for name/value
name_Name part of name/value pair
Returns
value part of name/value; or an empty string if not found.

Definition at line 165 of file IniFile.cpp.

References m_config.

Referenced by ASSA::CmdLineOpts::parse_config_file().

166 {
167  const_config_iterator i = m_config.begin ();
169  string ret ("");
170 
171  while (i != m_config.end ()) {
172  if ((*i).first == section_) {
173  j = (*i).second.begin ();
174  while (j != (*i).second.end ()) {
175  if ((*j).first == name_) {
176  ret = (*j).second;
177  break;
178  }
179  j++;
180  }
181  }
182  i++;
183  }
184  return ret;
185 }
config_type::const_iterator const_config_iterator
Constant iterator over the list of configuration sections.
Definition: IniFile.h:59
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
list< tuple_type >::const_iterator const_tuple_iterator
Constant iterator over name/value pairs in a section.
Definition: IniFile.h:65
int IniFile::load ( )

Load configuration data from the file.

The file name is specified in the constructor.

Returns
0 on success; -1 if there was a syntax error.

From N.M.Josuttis, "The C++ Standard Library", Sec. 13.9 File Access:

"Clear eofbit and failbit set due to the end-of-file.

Note that after the processing of a file, clear() must be called to clear the state flags that are set at end-of-file. This is required because the stream object is used for multiple files. open() NEVER clears any state flags. Thus, if a stream was not in a good state, after closing and reopening it, you still have to call clear() to get to a good state. This is also the case, if you open a different file."

Definition at line 42 of file IniFile.cpp.

References DL, ASSA::INIFILE, m_comment_pttrn, m_config, m_fname, m_section_pttrn, m_stream, m_tuple_pttrn, ASSA::Regexp::match(), size(), ASSA::Utils::split_pair(), trace_with_mask, trim_section_name(), and ASSA::Utils::trim_sides().

43 {
44  trace_with_mask ("IniFile::load", INIFILE);
45 
46  const int size = 1024;
47  char inbuf [size];
48 
49  string line;
50  string name;
51  string value;
52  int ret = -1;
53 
54  m_stream.open (m_fname.c_str (), std::ios::in);
55  if (!m_stream) {
56  goto done;
57  }
58 
59  while (m_stream) {
60  m_stream.getline (inbuf, size, '\n');
61  DL((INIFILE,"Input: \"%s\"\n", inbuf));
62 
63  if (::strlen (inbuf) == 0 || m_comment_pttrn.match (inbuf) == 0) {
64  continue;
65  }
66  line = inbuf;
67  if (m_section_pttrn.match (inbuf) == 0) {
68  if (trim_section_name (line) < 0) {
69  goto done;
70  }
71  m_config.push_back (sect_type (line, std::list<tuple_type> ()));
72  }
73  else if (m_tuple_pttrn.match (inbuf) == 0) {
74  if (Utils::split_pair (line, '=', name, value) < 0) {
75  goto done;
76  }
77  Utils::trim_sides (name);
78  Utils::trim_sides (value);
79  m_config.back ().second.push_back (tuple_type (name, value));
80  }
81  else {
82  goto done;
83  }
84  }
97  ret = 0;
98 
99  done:
100  if (ret < 0) {
101  DL((INIFILE, "Parse error: illegal syntax!\n"));
102  }
103  m_stream.clear ();
104  m_stream.close ();
105  return ret;
106 }
std::fstream m_stream
File stream.
Definition: IniFile.h:196
Class IniFile messages.
Definition: LogMask.h:52
Regexp m_section_pttrn
Section header match.
Definition: IniFile.h:202
string m_fname
INI file name.
Definition: IniFile.h:193
Regexp m_comment_pttrn
Comment match.
Definition: IniFile.h:208
int trim_section_name(string &text_)
Remove square brakets around section name.
Definition: IniFile.h:212
#define DL(X)
A macro for writing debug message to the Logger.
Definition: Logger.h:273
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
unsigned int size() const
Return number of sections in the cache.
Definition: IniFile.h:178
int match(const char *text_)
Match an ASCII character string agains the pattern this class wraps.
Definition: Regexp.cpp:58
void trim_sides(std::string &text_)
Trim white spaces and tabs from the beginning and the end of the text string.
Definition: CommonUtils.cpp:93
pair< string, list< tuple_type > > sect_type
A section is a logical subcategory of related configuration information.
Definition: IniFile.h:49
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
Regexp m_tuple_pttrn
Name/value pair match.
Definition: IniFile.h:205
int split_pair(const string &text_, char sep_, string &lhs_, string &rhs_)
Split input string into two parts separated by the separator character.
Definition: CommonUtils.cpp:47
pair< string, string > tuple_type
A tuple is a name/value pair.
Definition: IniFile.h:44
bool ASSA::IniFile::operator!= ( const IniFile rhs_) const
inline

Compare two configurations.

Returns
true if two configurations are the same; false otherwise.

Definition at line 88 of file IniFile.h.

89  { return (! (*this == rhs_)); }
bool ASSA::IniFile::operator== ( const IniFile rhs_) const
inline

Compare two configurations.

Returns
true if two configurations are the same; false otherwise.

Definition at line 82 of file IniFile.h.

References m_config.

83  { return (m_config == rhs_.m_config); }
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
const_config_iterator ASSA::IniFile::sect_begin ( ) const
inline

Return iterator to the first section.

Definition at line 170 of file IniFile.h.

References m_config.

170 { return m_config.begin (); }
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
config_iterator ASSA::IniFile::sect_end ( )
inline

Return iterator past the last section.

Definition at line 174 of file IniFile.h.

References m_config.

Referenced by drop_pair(), drop_section(), ASSA::CmdLineOpts::parse_config_file(), and set_pair().

174 { return m_config.end (); }
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
int IniFile::set_pair ( const string &  section_,
const tuple_type newkey_ 
)

Add or change name/value pair in the section.

Parameters
section_Section name
newkey_Name/value pair
Returns
0 on success; -1 if section is not found

Definition at line 229 of file IniFile.cpp.

References DL, find_section(), ASSA::INIFILE, sect_end(), and trace_with_mask.

230 {
231  trace_with_mask ("IniFile::set_pair", INIFILE);
232 
233  config_iterator i = find_section (section_);
234  if (i == sect_end ()) {
235  DL((INIFILE,"Section [%s] is not found!\n", section_.c_str ()));
236  return -1;
237  }
238  tuple_iterator j = (*i).second.begin ();
239  while (j != (*i).second.end ()) {
240  if ((*j).first == newkey_.first) {
241  (*j).second = newkey_.second;
242  return 0;
243  }
244  j++;
245  }
246  (*i).second.push_back (newkey_);
247  return 0;
248 }
Class IniFile messages.
Definition: LogMask.h:52
config_iterator sect_end()
Return iterator past the last section.
Definition: IniFile.h:174
#define DL(X)
A macro for writing debug message to the Logger.
Definition: Logger.h:273
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
config_type::iterator config_iterator
Mutable iterator over the list of configuration sections.
Definition: IniFile.h:56
config_iterator find_section(const string &section_)
Find section by its name.
Definition: IniFile.cpp:199
list< tuple_type >::iterator tuple_iterator
Mutable iterator over name/value pairs in a section.
Definition: IniFile.h:62
unsigned int ASSA::IniFile::size ( ) const
inline

Return number of sections in the cache.

Definition at line 178 of file IniFile.h.

References m_config.

Referenced by load().

178 { return m_config.size (); }
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
int ASSA::IniFile::sync ( )
inline

Write cached configuration to the file.

Filename used is the one given in the constructor.

Returns
0 on success; -1 if opening/writing to the file failed.

Definition at line 219 of file IniFile.h.

References ASSA::INIFILE, m_fname, and trace_with_mask.

220  {
221  trace_with_mask ("IniFile::sync", INIFILE);
222  return sync (m_fname);
223  }
Class IniFile messages.
Definition: LogMask.h:52
string m_fname
INI file name.
Definition: IniFile.h:193
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
int sync()
Write cached configuration to the file.
Definition: IniFile.h:219
int IniFile::sync ( const string &  fname_)

Write cached configuration to the file fname_.

Parameters
fname_Name of the output file.
Returns
0 on success; -1 if opening/writing to the file failed.

Definition at line 110 of file IniFile.cpp.

References EL, ASSA::INIFILE, m_config, m_stream, and trace_with_mask.

111 {
112  trace_with_mask ("IniFile::sync(fname)", INIFILE);
113 
114  ::unlink (fname_.c_str ());
115  m_stream.open (fname_.c_str (), std::ios::app | std::ios::out);
116  if (!m_stream) {
117  EL((INIFILE,"Failed to open(\"%s\", app|out)\n", fname_.c_str ()));
118  return -1;
119  }
120  const_config_iterator i = m_config.begin ();
122 
123  while (i != m_config.end ()) {
124  m_stream << "[" << (*i).first << "]\n";
125  j = (*i).second.begin ();
126 
127  while (j != (*i).second.end ()) {
128  m_stream << (*j).first << "=" << (*j).second << "\n";
129  j++;
130  }
131  m_stream << "\n";
132  i++;
133  }
134  m_stream.clear ();
135  m_stream.close ();
136  return 0;
137 }
std::fstream m_stream
File stream.
Definition: IniFile.h:196
Class IniFile messages.
Definition: LogMask.h:52
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
Definition: Logger.h:437
#define EL(X)
A macro for writing error message to the Logger.
Definition: Logger.h:285
config_type::const_iterator const_config_iterator
Constant iterator over the list of configuration sections.
Definition: IniFile.h:59
config_type m_config
Cache holds the entire INI file in memory.
Definition: IniFile.h:199
list< tuple_type >::const_iterator const_tuple_iterator
Constant iterator over name/value pairs in a section.
Definition: IniFile.h:65
int ASSA::IniFile::trim_section_name ( string &  text_)
inlineprivate

Remove square brakets around section name.

Parameters
text_(IN/OUT) String to work on
Returns
0 on success; -1 on error

Definition at line 212 of file IniFile.h.

References ASSA::Utils::ltrim(), and ASSA::Utils::rtrim().

Referenced by load().

213  {
214  return (Utils::ltrim (text_, "[") == 0 &&
215  Utils::rtrim (text_, "]") == 0) ? 0 : -1;
216  }
int rtrim(std::string &text_, const std::string &delim_)
Trim string from the delimiter to the end of the string.
Definition: CommonUtils.cpp:80
int ltrim(std::string &text_, const std::string &delim_)
Trim string from the beginning to the left of the delimiter.
Definition: CommonUtils.cpp:67

Member Data Documentation

Regexp ASSA::IniFile::m_comment_pttrn
private

Comment match.

Definition at line 208 of file IniFile.h.

Referenced by load().

config_type ASSA::IniFile::m_config
private

Cache holds the entire INI file in memory.

Definition at line 199 of file IniFile.h.

Referenced by add_section(), drop_all(), drop_section(), dump(), find_section(), get_value(), load(), operator==(), sect_begin(), sect_end(), size(), sync(), and ~IniFile().

string ASSA::IniFile::m_fname
private

INI file name.

Definition at line 193 of file IniFile.h.

Referenced by load(), and sync().

Regexp ASSA::IniFile::m_section_pttrn
private

Section header match.

Definition at line 202 of file IniFile.h.

Referenced by load().

std::fstream ASSA::IniFile::m_stream
private

File stream.

Definition at line 196 of file IniFile.h.

Referenced by load(), and sync().

Regexp ASSA::IniFile::m_tuple_pttrn
private

Name/value pair match.

Definition at line 205 of file IniFile.h.

Referenced by load().


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