[opensource-dev] Client Plugin System Design

Rob Nelson nexisentertainment at gmail.com
Mon Mar 8 02:44:35 PST 2010


On Sun, 2010-03-07 at 18:19 -0800, Ricky wrote:
> So far, barring any LL concepts, we have (as far as I know so far!)
> two designs of plugin system:
> 1: Socket-based plugins - as suggested by Morgaine.
> 2: D-Bus or similar existing IPC tool.
> 3: C++ Dynamically Shared Objects - my suggestion.

You forgot interpreted scripts, such as Lua.  Already implemented and
working in the Luna viewer.  A lot easier to develop for, as well, since
users don't need to have an API to use it. All they need to know is how
to make it work and where to dump their files.  

The largest issue is sandboxing and threading, actually.  I still have
to make an override for the io.* functions that will not access
materials outside of lua/data or the plugin's folder, and creating a
working event queue is becoming a major pain in the neck.

Fred Rookstown
Luna Viewer (http://luna-viewer.googlecode.com)



More information about the opensource-dev mailing list