24 Oct 2000 (updated 24 Oct 2000 at 15:33 UTC)
»
As my first entry, let me define the situation a bit.
I am currently involved with a great Open Source
project
called WorldFor
ge. I'm a newb, so I tackled a relatively small chunk
of the project - varconf. Varconf is a configuration
library, originally created by sdt for
STAGE, WorldForge's primary server application. Varconf is
small but quite functional and I am having a blast with
it.
Varconf is designed to input configuration data from
config files, environment variables or the command-line.
It also has callback support to inform an application of a
settings change.
Since I took over the library, I have
made the following enhancements/changes to varconf:
- Adopted libsigc++ for callbacks.
- Added support for sections (as in a standard
config file section) in command-line arguments.
- Implemented the environment variable input method
(wasn't written yet when I took over the library)
- General code clean-up, commenting and what-not.
Not much but it is a start. Some future ideas I've
come up
with/had suggested to me:
- Enhance the data manipulation interface - currently
there is no method for deleting an individual item
or section from a config database.
- Re-implement the "Observer" class - Observers in
Varconf were auto-update objects that stored a copy
of a single config item for quick access. There were
some problems with the implementation so I removed
them temporarily.
- Convert the file parser to lex/yacc - I have some
concerns but if doable, this would make the parser
far easier to work with.
- Add an interface for warnings - currently, if
erroroneous data appears that varconf can handle
without dying, it does so without a complaint. Keeps
the lib simple but makes reporting typos and
the like difficult.
More will come with time I'm sure. That is all.