Below are the core services and interfaces which we think are required.
Services with required supported interfaces:
Set of interfaces:
A ScriptManager service manages registered ScriptEngine services. It aggregates
the modules and bind functionality of the ScriptEngine services.
A ScriptEngine service represents a script engine for a particular language.
A ScriptMethod service represents a script method for a particular language
that may be invoked by StarOffice.
The XBind interface provides methods to bind and unbind a method, which
is also associated with a particular context, application or document. A bind
will create a ScriptMethod service.
The XMethod interface provides a method to invoke a script method synchronously
on a method written in a script language.
The XModules interface provides methods to obtain the set of available libraries,
modules and methods or to check that methods exists. Module/Library/Method
information may be represented as structs. No hierarchy traversal is required
to obtain the information. Hierarchy is implicit in the library/module/method
name space. Can be similar in style to the functionality of java.lang.ClassLoader
to obtain packages etc.
The XScriptEngine interface provides methods to initiate, query, and monitor
a script engine.
The XScriptManager interface provides methods to register/deregister ScriptEngine
services.