private void ExecuteLine(string arg) { var parse = new ParserTask(arg); parse.Done = r => { SqProgram prog = r.Item1?.FirstOrDefault(); if (r.Item1 != null) { string tempName = "_run_" + runtime.GenerateProgramId().ToString(); prog.Commands.Add(Commands.CmdDefs["unload"].Materialize(new object[] { tempName })); // todo: prog.Name = tempName; runtime.RegisterPrograms(new SqProgram[] { prog }); runtime.StartProgram(tempName); } }; sch.EnqueueTask(parse); }
private void ScheduleParse(bool runLoad) { var parse = new ParserTask(Current.Me.CustomData); parse.Done = r => { if (r.Item1 != null) { Log.Write(LOG_CAT, LogLevel.Verbose, "Parsing done"); runtime.RegisterPrograms(r.Item1); if (runLoad) { if (runtime.StartProgram("_load", true)) { timerController.ScheduleStart(0); } } } }; sch.EnqueueTask(parse); }