#include <paramstorer.h>
Collaboration diagram for oxygen::ParamStorer:
Public Member Functions | |
ParamStorer (oxygen::ParamReader *paramReader) | |
virtual int | readArgsFrom (const std::string &, const char *, const char *, std::istream &, bool) |
virtual void | print (std::ostream &) const |
virtual int | readCmdLineArgs (const std::string &key, int argc, const char *const *argv) |
Protected Attributes | |
oxygen::ParamReader * | mParamReader |
The ParamReader we use to do the parsing. |
It's purpose is to enable the user to set ruby variables using the command line.
A note about the implementation: ParamStorer uses the ParamReader class to do the real parsing. This has the following reason.
In order to access the ScriptServer to modify ruby variables the ParamStorer must be a ZeitGeist class. This involves that the corresponding class object holds a shared pointer to every instance of this class.
However spades is not aware of these shared pointers and destructs a registered ParamStorer instance using delete without notifying the shared pointers. This would result in dangling references.
In order to play well with spades this class is not derived from Zeitgeist::object. In order to access the ScriptServer this class uses the ParamReader instance.
Definition at line 51 of file paramstorer.h.
|
Definition at line 54 of file paramstorer.h. |
|
Definition at line 65 of file paramstorer.h. |
|
Definition at line 57 of file paramstorer.h. |
|
Definition at line 27 of file paramstorer.cpp. References mParamReader, and oxygen::ParamReader::readCmdLineArgs(). Here is the call graph for this function: ![]() |
|
The ParamReader we use to do the parsing.
Definition at line 77 of file paramstorer.h. Referenced by readCmdLineArgs(). |