ScriptServer
The ScriptServer allows executing the contents of files and strings via the Ruby scripting language, as well as provide access to script-side variables. The implementation also provides the necessary glue code to allow the script-side to execute C++ functions. The necessary wrapper code for this is part of the class object definition. Every pair of cpp/h files which is part of the Zeitgeist framework has a third file associated with it. The filename is post-fixed with a '_c' and it contains the class object definition, as well as the script-side interface.