#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(). |