#include <ConfigurationReader.h>
Inheritance diagram for Tools::ConfigurationReader:


Public Member Functions | |
| virtual void | onFilename (String *filename) |
| virtual void | onString (String *str) |
| virtual void | stream (Stream *str) |
| virtual void | put (String *item, Object *value) |
| virtual void | read (void) |
| virtual Configuration * | readConfiguration (void) |
| virtual Configuration * | readConfiguration (Configuration *configuration) |
| virtual void | readLine (void) |
Protected Attributes | |
| Stream * | _stream |
| Configuration * | _configuration |
|
|
Definition at line 40 of file ConfigurationReader.cc. References stream().
|
|
|
Definition at line 45 of file ConfigurationReader.cc. References Core::SequenceableCollection::readStream(), and stream(). 00046 {
00047 stream(str->readStream());
00048 }
|
|
||||||||||||
|
Definition at line 56 of file ConfigurationReader.cc. References _configuration, and Tools::Configuration::put(). Referenced by Tools::HierarchicalConfigurationReader::getConfigurationFor(), Tools::HierarchicalConfigurationReader::parseBlockOpenning(), and readLine(). 00057 {
00058 _configuration->put(item, value);
00059 }
|
|
|
Definition at line 78 of file ConfigurationReader.cc. References _stream, Core::Stream::atEnd(), readLine(), and Core::Stream::skipSeparators(). Referenced by readConfiguration(). 00079 {
00080 while (!_stream->atEnd()) {
00081 _stream->skipSeparators();
00082 readLine();
00083 }
00084 }
|
|
|
Reimplemented in Tools::HierarchicalConfigurationReader. Definition at line 67 of file ConfigurationReader.cc. References _configuration, _ensure, _stream, Core::Stream::close(), and read(). 00068 {
00069 _configuration = configuration;
00070 _ensure (
00071 read(),
00072 _stream->close()
00073 );
00074
00075 return _configuration;
00076 }
|
|
|
Definition at line 62 of file ConfigurationReader.cc. Referenced by Tools::HierarchicalConfigurationReader::readConfiguration(). 00063 {
00064 return readConfiguration(new Configuration);
00065 }
|
|
|
Reimplemented in Tools::HierarchicalConfigurationReader. Definition at line 86 of file ConfigurationReader.cc. References _stream, Core::String::copy(), Core::String::indexOf(), Core::Collection::isEmpty(), Core::Stream::nextLine(), put(), Core::SequenceableCollection::replaceAll(), Core::String::size(), and Core::String::trimBlanks(). Referenced by read(). 00087 {
00088 String *item, *value;
00089 String *line = dynamic_cast<String *>(_stream->nextLine());
00090 long idx;
00091
00092 line->replaceAll(Character::tab(), Character::space());
00093
00094 /* Remove comments */
00095 idx = line->indexOf('#');
00096 if (idx > 0) line = dynamic_cast<String *>(line->copy(0, idx));
00097 line = line->trimBlanks();
00098 if (idx == 0 || line->isEmpty()) return;
00099
00100 /* Parse assignment */
00101 idx = line->indexOf('=');
00102 if (idx <= 0) return;
00103
00104 item = dynamic_cast<String *>(line->copy(0, idx))->trimBlanks();
00105 if (item->isEmpty()) return;
00106
00107 if (idx + 1 < line->size())
00108 value = dynamic_cast<String *>(line->copy(idx + 1, line->size()))->trimBlanks();
00109 else
00110 value = new String;
00111 put(item, value);
00112 }
|
|
|
Definition at line 50 of file ConfigurationReader.cc. References _stream. Referenced by onFilename(), and onString(). 00051 {
00052 _stream = str;
00053 }
|
|
|
|
Definition at line 39 of file ConfigurationReader.h. Referenced by Tools::HierarchicalConfigurationReader::parseLine(), read(), readConfiguration(), readLine(), and stream(). |
1.4.2