コード例 #1
0
ファイル: PythonEngine.cs プロジェクト: jetzfly/HomeGenie
 public void Unload()
 {
     if (scriptEngine != null)
     {
         Reset();
         scriptEngine.Runtime.Shutdown();
         scriptEngine = null;
     }
     hgScriptingHost = null;
     scriptScope = null;
 }
コード例 #2
0
ファイル: WizardEngine.cs プロジェクト: Bounz/HomeGenie
        public bool Load()
        {
            if (homegenie == null)
                return false;

            if (hgScriptingHost != null)
            {
                this.Reset();
                hgScriptingHost = null;
            }
            hgScriptingHost = new ScriptingHost();
            hgScriptingHost.SetHost(homegenie, programBlock.Address);

            return true;
        }
コード例 #3
0
ファイル: JavascriptEngine.cs プロジェクト: jetzfly/HomeGenie
        public bool Load()
        {
            Unload();

            if (homegenie == null)
                return false;

            scriptEngine = new Engine();

            hgScriptingHost = new ScriptingHost();
            hgScriptingHost.SetHost(homegenie, programBlock.Address);
            scriptEngine.SetValue("hg", hgScriptingHost);

            return true;
        }
コード例 #4
0
ファイル: PythonEngine.cs プロジェクト: jetzfly/HomeGenie
        public bool Load()
        {
            Unload();

            if (homegenie == null)
                return false;

            scriptEngine = Python.CreateEngine();

            hgScriptingHost = new ScriptingHost();
            hgScriptingHost.SetHost(homegenie, programBlock.Address);
            dynamic scope = scriptScope = scriptEngine.CreateScope();
            scope.hg = hgScriptingHost;

            return true;
        }
コード例 #5
0
ファイル: WizardEngine.cs プロジェクト: jkinger/HomeGenie
 public void Unload()
 {
     Reset();
     hgScriptingHost = null;
 }
コード例 #6
0
ファイル: ProgramBlock.cs プロジェクト: rwxr-xr-x/HomeGenie
 private void SetupScriptingScope()
 {
     hgScriptingHost = new ScriptingHost();
     hgScriptingHost.SetHost(homegenie, this.Address);
     if (scriptEngine.GetType() == typeof(ScriptEngine))
     {
         // IronPyton and IronRuby engines
         ScriptEngine currentEngine = (scriptEngine as ScriptEngine);
         dynamic scope = scriptScope = currentEngine.CreateScope();
         scope.hg = hgScriptingHost;
     }
     else if (scriptEngine.GetType() == typeof(Jint.Engine))
     {
         // Jint Javascript engine
         Jint.Engine javascriptEngine = (scriptEngine as Jint.Engine);
         javascriptEngine.SetValue("hg", hgScriptingHost);
     }
 }
コード例 #7
0
ファイル: ProgramBlock.cs プロジェクト: rwxr-xr-x/HomeGenie
 internal void Reset()
 {
     // CSharp App
     if (appAssembly != null && methodReset != null)
     {
         methodReset.Invoke(assembly, null);
     }
     // Python, Ruby, Javascript
     else if (hgScriptingHost != null)
     {
         hgScriptingHost.Reset();
         hgScriptingHost = null;
     }
 }
コード例 #8
0
ファイル: JavascriptEngine.cs プロジェクト: asm7100/HomeGenie
 public void Unload()
 {
     Reset();
     scriptEngine = null;
     hgScriptingHost = null;
 }
コード例 #9
0
ファイル: ProgramBlock.cs プロジェクト: Qu3uk/HomeGenie
 private void SetupScriptingScope()
 {
     if (hgScriptingHost != null)
     {
         this.Reset();
         hgScriptingHost = null;
     }
     hgScriptingHost = new ScriptingHost();
     hgScriptingHost.SetHost(homegenie, this.Address);
     if (scriptEngine.GetType() == typeof(ScriptEngine))
     {
         // IronPyton and IronRuby engines
         var ironEngine = (scriptEngine as ScriptEngine);
         dynamic scope = scriptScope = ironEngine.CreateScope();
         scope.hg = hgScriptingHost;
     }
     else if (scriptEngine.GetType() == typeof(Jint.Engine))
     {
         // Jint Javascript engine
         var javascriptEngine = (scriptEngine as Jint.Engine);
         javascriptEngine.SetValue("hg", hgScriptingHost);
     }
     else if (scriptEngine.GetType() == typeof(WizardEngine))
     {
         var wizardEngine = (scriptEngine as WizardEngine);
         wizardEngine.SetScriptingHost(hgScriptingHost);
     }
 }
コード例 #10
0
ファイル: WizardEngine.cs プロジェクト: michaelita/HomeGenie
 public void SetScriptingHost(ScriptingHost scriptingHost)
 {
     this.scriptingHost = scriptingHost;
 }