示例#1
0
        /// <summary>
        /// creates a new <see cref="ScriptCompiler"/>
        /// </summary>
        /// <param name="logger">access to logging</param>
        /// <param name="parser">parser used to parse scripts</param>
        /// <param name="cache">access to object cache</param>
        /// <param name="methodprovider">provides managed method hosts to scripts</param>
        /// <param name="scriptservice">used to load scripts if not found in cache</param>
        /// <param name="archive">archive used to load revisions</param>
        /// <param name="importservice">access to javascript imports</param>
        /// <param name="pythonservice">access to python script logic</param>
        /// <param name="luaservice">used to execute lua code</param>
        public ScriptCompiler(ILogger <ScriptCompiler> logger, IScriptParser parser, ICacheService cache, IMethodProviderService methodprovider, IScriptService scriptservice, IArchiveService archive, IScriptImportService importservice, IPythonService pythonservice, ILuaService luaservice)
        {
            this.parser        = parser;
            this.cache         = cache;
            this.scriptservice = scriptservice;
            this.archive       = archive;
            this.importservice = importservice;
            this.pythonservice = pythonservice;
            this.luaservice    = luaservice;
            this.logger        = logger;

            if (parser != null)
            {
                parser.Extensions.AddExtensions(typeof(Math));
                parser.Extensions.AddExtensions <ScriptEnumerations>();
                parser.ImportProvider = methodprovider;
            }

            ReactInitializer.Initialize();
        }
示例#2
0
 /// <summary>
 /// creates a new <see cref="WorkflowExecutionService"/>
 /// </summary>
 /// <param name="logger">access to logging</param>
 /// <param name="taskservice">access to task information</param>
 /// <param name="importprovider">access to host imports</param>
 /// <param name="workflowservice">provides workflow data</param>
 /// <param name="workflowcompiler">compiled workflow data to executable instances</param>
 public WorkflowExecutionService(ILogger <WorkflowExecutionService> logger, ITaskService taskservice, IMethodProviderService importprovider, IWorkflowService workflowservice, IWorkflowCompiler workflowcompiler)
 {
     this.logger           = logger;
     this.taskservice      = taskservice;
     this.importprovider   = importprovider;
     this.workflowservice  = workflowservice;
     this.workflowcompiler = workflowcompiler;
 }
 /// <summary>
 /// creates a new <see cref="ScriptSenseService"/>
 /// </summary>
 /// <param name="logger">access to logging</param>
 /// <param name="parser">parser used to get script environment information</param>
 /// <param name="methodprovider">provider for installed host types</param>
 public ScriptSenseService(ILogger <ScriptSenseService> logger, IScriptParser parser, IMethodProviderService methodprovider)
 {
     this.logger         = logger;
     this.parser         = parser;
     this.methodprovider = methodprovider;
 }
示例#4
0
 /// <summary>
 /// creates a new <see cref="SenseController"/>
 /// </summary>
 /// <param name="senseservice">access to sense information</param>
 /// <param name="hostprovider">access to host information</param>
 public SenseController(IScriptSenseService senseservice, IMethodProviderService hostprovider)
 {
     this.senseservice = senseservice;
     this.hostprovider = hostprovider;
 }