230 |
*/ |
*/ |
231 |
std::map<String,VMDynVar*> builtInDynamicVariables() OVERRIDE; |
std::map<String,VMDynVar*> builtInDynamicVariables() OVERRIDE; |
232 |
|
|
233 |
|
/** |
234 |
|
* Enables or disables automatic suspension of scripts by the VM. |
235 |
|
* If automatic suspension is enabled then scripts are monitored |
236 |
|
* regarding their execution time and in case they are execution |
237 |
|
* for too long, then they are automatically suspended by the VM for |
238 |
|
* a certain amount of time in order to avoid any RT instablity |
239 |
|
* issues caused by bugs in the script, i.e. endless while() loops |
240 |
|
* or very large scripts. |
241 |
|
* |
242 |
|
* Automatic suspension is enabled by default due to the aimed |
243 |
|
* real-time context of this virtual machine. |
244 |
|
* |
245 |
|
* @param b - true: enable auto suspension [default], |
246 |
|
* false: disable auto suspension |
247 |
|
*/ |
248 |
|
void setAutoSuspendEnabled(bool b = true); |
249 |
|
|
250 |
|
/** |
251 |
|
* Returns true in case automatic suspension of scripts by the VM is |
252 |
|
* enabled. See setAutoSuspendEnabled() for details. |
253 |
|
* |
254 |
|
* Automatic suspension is enabled by default due to the aimed |
255 |
|
* real-time context of this virtual machine. |
256 |
|
*/ |
257 |
|
bool isAutoSuspendEnabled() const; |
258 |
|
|
259 |
VMEventHandler* currentVMEventHandler(); //TODO: should be protected (only usable during exec() calls, intended only for VMFunctions) |
VMEventHandler* currentVMEventHandler(); //TODO: should be protected (only usable during exec() calls, intended only for VMFunctions) |
260 |
VMParserContext* currentVMParserContext(); //TODO: should be protected (only usable during exec() calls, intended only for VMFunctions) |
VMParserContext* currentVMParserContext(); //TODO: should be protected (only usable during exec() calls, intended only for VMFunctions) |
261 |
VMExecContext* currentVMExecContext(); //TODO: should be protected (only usable during exec() calls, intended only for VMFunctions) |
VMExecContext* currentVMExecContext(); //TODO: should be protected (only usable during exec() calls, intended only for VMFunctions) |
263 |
protected: |
protected: |
264 |
VMEventHandler* m_eventHandler; |
VMEventHandler* m_eventHandler; |
265 |
ParserContext* m_parserContext; |
ParserContext* m_parserContext; |
266 |
|
bool m_autoSuspend; |
267 |
class CoreVMFunction_message* m_fnMessage; |
class CoreVMFunction_message* m_fnMessage; |
268 |
class CoreVMFunction_exit* m_fnExit; |
class CoreVMFunction_exit* m_fnExit; |
269 |
class CoreVMFunction_wait* m_fnWait; |
class CoreVMFunction_wait* m_fnWait; |