Subsystems

From Sirikata Wiki
Revision as of 16:06, 16 April 2010 by Ewencp (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

After you feel you understand of the architecture of the system and have the source code built and running, you'll want to jump into a specific area and start contributing. At this stage its helpful to understand the directory layout of the repository:

build/ - CMake build system, will need to be updated with any new projects or source files
cppoh/ - C++ ObjectHost binary, what you'll run to simulate objects (which are "scripted" using C++, eventually we'd like other object hosts too)
externals/ - external projects that are hard linked into our tree
libcore/ - Core library, mostly utility code that will be used all over the system, including in the ObjectHost and Space. 
liboh/ - ObjectHost library, contains interfaces and some code which is shared among all ObjectHost implementations
libproximity/ - Proximity library, shared interfaces and implementations of proximity related services
libproxyobject/ - Code for objects -- interfaces for persistence, graphics, communication -- and proxy object management.  (Should be libobject or similar).
libspace/ - Space library, contains interfaces and some code which is shared among all Space implementations
proximity/ - Proximity binary, what you'll actually run to run a proximity service, uses libproximity, adds implementations, plugins
space/ - Space binary, what you'll actually run to run a space service, uses libspace, adds implementations, plugins

Based on the above listing you'll want to dig deeper into whichever directory contains the area you're interested in working on.