Difference between revisions of "Plugin architecture"

From Second Life Wiki
Jump to navigation Jump to search
Line 6: Line 6:
* 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.
* 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.
* 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.     
* 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 messages on channels other than 0, but would send them to any plugins which have been registered to listen on those channels.     


[[Category:Feature Requests]]
[[Category:Feature Requests]]

Revision as of 21:56, 9 February 2007

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 messages on channels other than 0, but would send them to any plugins which have been registered to listen on those channels.