Plugin architecture

From Second Life Wiki
Revision as of 21:55, 9 February 2007 by Iron Perth (talk | contribs)
Jump to navigation Jump to search

Required Changes

Some changes in the code will be required to support plugins.

  • Complete GUI and other classes with functions that would be expected to exist, but don't because nothing needed them yet. For instance, add method overloads that should logically exist.
  • Allow multiple callbacks per message, as well as unregistering a previously registered one. Currently only one callback can be registered per message type.
  • Verify that all the callbacks work in such a way that they wouldn't be confused by plugins. When a callback for a reply to a request runs it must make sure that the data to arrived is what was requested, and if not, ignore it.
  • Add internal callbacks for events such as rendering a frame, receiving a chat message, etc.
  • It would be very useful to be able to communicate with plugins from LSL. For example, selecting an object or playing a game and having that object or game send status messages to the plugin for further manipulation, scoring, display, etc. This will require the ability for an avatar to have his client register a listener with the servers other than channel 0. The client would not display them, but would send them to any plugins which have been registered to listen on those channels.