[sldev] Plugin system - first code drop

Tim Shephard tshephard at gmail.com
Mon Feb 26 16:59:32 PST 2007

Can you post a couple of sample hooks?

Are you doing it via a proxy llFloater class?

Great energy.  Let me know your secret on how you can afford to spend the time.



On 2/26/07, Soft Noel <soft at softnoel.org> wrote:
> I've started creating accessors and hooks for the UI system, which is
> turning into a heck of a lot of calls as I'd predicted. Some other ideas
> were floated for the interface, such as overriding existing classes
> instead of using callback hooks. Here's a drop of the plugin system before
> I added callback hooks and started on my UI stuff. If someone wants to
> write some test code for another approach, please feel free. Otherwise,
> I'll drop my UI stuff on the list with callback hooks once I've got Dale's
> scanner working as a plugin.
> Right now, the system works with Mac and probably Linux. Linux needs the
> contents of indra/lljack added to the viewer project, plus a build project
> for the SDK and the plugin sample. For Windows, you'd need to do a wide
> string conversion in LLPlugin::loadSys() and double-check that host-side
> PLUGIN_CALLSPEC define. If nobody else does this, I'll fix it myself next
> time I'm near a Windows machine. My Parallels install gave up the ghost
> when I tried upgrading to the Parallels beta, and the release version
> couldn't actually run the client anyway.
> Build & run instructions:
> apply plugin system patch:
> http://softnoel.org/pluginsystem.patch
> copy select headers from viewer source:
> cd to plugin/PluginSDK/utils
> ./comhead_cp.sh
> put your plugin path in temporary plugin manager:
> LLPluginManager::pluginsEnumerate
> (LLPluginManager is placeholder until we have a nice GUI for the plugins.)
> Build DEBUG plugin/PluginSDK project
> Build DEBUG plugin/HelloWorldPlugin project
> Build any target macview project
> Activate plugins via the edit menu
> If you see "Hello World" on the ctrl-shift-4 debug console, you're
> properly loading and running the HelloWorldPlugin plugin. You're ready to
> create your own plugin interfaces by editing lljackio, lljacksystem, and
> lljackui. Use the single function in lljacksystem as a reference example.
> All you need to do to expose a feature to a plugin is add to these
> interfaces.
> If anyone wants to hang around in-world and talk plugins after Rob's
> office hours today, I'd be eager to do so.
> _______________________________________________
> Click here to unsubscribe or manage your list subscription:
> /index.html

More information about the SLDev mailing list