#ifndef __com_sun_star_scripting_XScriptEngine__ #define __com_sun_star_scripting_XScriptEngine__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif #include #include #include module com { module sun { module star { module scripting { interface XScriptEngine: com::sun::star::uno::XInterface { // very simple state machine to represent the running/not running // Engine state. Can be expanded to take into account // intermediate states e.g. initialising, starting, shuttingdown etc. // if required. enum EngineState { stopped, started }; /** Initiates XScriptEngine, allows initialisation to * occur. */ void startEngine(); /** Terminates execution of XScriptEngine. */ void stopEngine(); /** Returns state of XScriptEngine, stopped or started. * @returns a started or stopped if XScriptEngine is running or not. */ EngineState getState(); /** Returns the language associated with XScriptEngine i.e. * "java", "starBASIC" etc. The same information will be available * from the XPropertyBag returned from getProperies() method of this * interface. * @returns a string indicating the supported language */ string getScriptLanguage(); /** Returns the properties associated with XScriptEngine * @returns all properties */ XPropertyBag getProperties(); /** Allows properties associated with XScriptEngine to be * set/updated. */ void setProperties([in] XPropertyBag properties); /** Return XScriptEngineMonitor associated with this ScriptEngine * XScriptEngineMonitor will provide methods to monitor a script, * do some basic job control, allow Listeners to be added/removed * and will initially provide some methods to identify which * scripts are currently running (based on XContext). */ @returns the XScriptEngineMonitor this Engine. XScriptEngineMonitor getMonitor(); }; }; }; }; }; #endif