public bool FunctionExists(string name) { lock (_scriptHost) { return(_scriptHost.FunctionExists(name)); } }
public WirehomeDictionary GetStatus() { if (!_scriptHost.FunctionExists("get_status")) { return(new WirehomeDictionary()); } return((WirehomeDictionary)_scriptHost.InvokeFunction("get_status")); }
public WirehomeDictionary GetDebugInformation(WirehomeDictionary parameters) { if (!_scriptHost.FunctionExists(GetDebugInformationFunctionName)) { return(new WirehomeDictionary().WithType(ControlType.NotSupportedException)); } if (!(_scriptHost.InvokeFunction(GetDebugInformationFunctionName, parameters) is WirehomeDictionary result)) { return(new WirehomeDictionary().WithType(ControlType.ReturnValueTypeMismatchException)); } return(result); }
public WirehomeDictionary Destroy() { if (_scriptHost == null) { return(new WirehomeDictionary().WithType(ControlType.Success)); } if (_scriptHost.FunctionExists("destroy")) { var result = _scriptHost.InvokeFunction("destroy") as WirehomeDictionary; return(result); } return(new WirehomeDictionary().WithType(ControlType.Success)); }
public PythonDictionary GetDebugInformation(PythonDictionary parameters) { if (!_scriptHost.FunctionExists(GetDebugInformationFunctionName)) { return(new PythonDictionary { ["type"] = WirehomeMessageType.NotSupportedException }); } if (!(_scriptHost.InvokeFunction(GetDebugInformationFunctionName, parameters) is PythonDictionary result)) { return(new PythonDictionary { ["type"] = WirehomeMessageType.ReturnValueTypeMismatchException }); } return(result); }
public IDictionary <object, object> Destroy() { if (_scriptHost == null) { return(new Dictionary <object, object> { ["type"] = WirehomeMessageType.Success }); } if (_scriptHost.FunctionExists("destroy")) { return(_scriptHost.InvokeFunction("destroy") as IDictionary <object, object>); } return(new Dictionary <object, object> { ["type"] = WirehomeMessageType.Success }); }
private bool TryInitializeScript(string uid, string scriptCode, out PythonScriptHost scriptHost) { try { scriptHost = _pythonEngineService.CreateScriptHost(_logger); scriptHost.Initialize(scriptCode); if (scriptHost.FunctionExists("initialize")) { scriptHost.InvokeFunction("initialize"); } return(true); } catch (Exception exception) { _logger.LogError(exception, $"Error while initializing startup script '{uid}'."); scriptHost = null; return(false); } }