Exemple #1
0
        private static AGDnsApi.ag_filter_engine_params ToNativeObject(
            EngineParams engineParams,
            Queue <IntPtr> allocatedPointers)
        {
            MarshalUtils.ag_list filterParamsC = MarshalUtils.ListToAgList(
                engineParams.FilterParams,
                ToNativeObject,
                allocatedPointers);
            AGDnsApi.ag_filter_engine_params filterEngineParamsC = new AGDnsApi.ag_filter_engine_params
            {
                filters = filterParamsC
            };

            return(filterEngineParamsC);
        }
Exemple #2
0
        public static void Load(TddStud10Package package, EngineParams engineParams)
        {
            Logger.LogInfo("Loading Engine with solution {0}", engineParams.SolutionPath);

            _package    = package;
            _efsWatcher = EngineFileSystemWatcher.Create(engineParams, () => RunEngine(engineParams));

            _engine       = _package.TddStud10Host.GetEngine();
            _engineEvents = _package.TddStud10Host.GetEngineEvents();
            _engineEvents.RunStateChanged.AddHandler(_package.OnRunStateChanged);
            _engineEvents.RunStarting.AddHandler(_package.OnRunStarting);
            _engineEvents.RunStepStarting.AddHandler(_package.OnRunStepStarting);
            _engineEvents.RunStepError.AddHandler(_package.OnRunStepError);
            _engineEvents.RunStepEnded.AddHandler(_package.OnRunStepEnded);
            _engineEvents.RunError.AddHandler(_package.OnRunError);
            _engineEvents.RunEnded.AddHandler(_package.OnRunEnded);
        }
        public static EngineFileSystemWatcher Create(EngineParams engineParams, Action runEngine)
        {
            var efsWatcher = new EngineFileSystemWatcher
            {
                _action    = runEngine,
                _fsWatcher = new FileSystemWatcher
                {
                    Filter = "*",
                    Path   = Path.GetDirectoryName(engineParams.SolutionPath.ToString()),
                    IncludeSubdirectories = true
                }
            };


            efsWatcher.SubscribeToEvents();

            return(efsWatcher);
        }
        internal static DnsProxySettings FromNativeObject(
            AGDnsApi.ag_dnsproxy_settings dnsProxySettingsC)
        {
            List <UpstreamOptions> upstreams = MarshalUtils.AgListToList <AGDnsApi.ag_upstream_options, UpstreamOptions>(
                dnsProxySettingsC.upstreams,
                FromNativeObject);

            List <UpstreamOptions> fallbacks = MarshalUtils.AgListToList <AGDnsApi.ag_upstream_options, UpstreamOptions>(
                dnsProxySettingsC.fallbacks,
                FromNativeObject);

            List <string> fallbackDomains = MarshalUtils.AgListToList <IntPtr, string>(
                dnsProxySettingsC.fallbackDomains,
                MarshalUtils.PtrToString);

            AGDnsApi.ag_dns64_settings dns64C =
                MarshalUtils.PtrToStructure <AGDnsApi.ag_dns64_settings>(dnsProxySettingsC.pDns64);
            Dns64Settings           dns64        = FromNativeObject(dns64C);
            EngineParams            engineParams = FromNativeObject(dnsProxySettingsC.FilterParams);
            List <ListenerSettings> listeners    =
                MarshalUtils.AgListToList <AGDnsApi.ag_listener_settings, ListenerSettings>(
                    dnsProxySettingsC.listeners,
                    FromNativeObject);

            AGDnsApi.ag_outbound_proxy_settings outboundProxySettingsC =
                MarshalUtils.PtrToStructure <AGDnsApi.ag_outbound_proxy_settings>(dnsProxySettingsC.outbound_proxy);
            OutboundProxySettings outboundProxySettings =
                FromNativeObject(outboundProxySettingsC);
            DnsProxySettings dnsProxySettings = new DnsProxySettings
            {
                Upstreams             = upstreams,
                Fallbacks             = fallbacks,
                FallbackDomains       = fallbackDomains,
                Dns64                 = dns64,
                EngineParams          = engineParams,
                Listeners             = listeners,
                OutboundProxySettings = outboundProxySettings
            };

            MarshalUtils.CopyFieldsToProperties(dnsProxySettingsC, dnsProxySettings);
            MarshalUtils.AllPtrsToStrings(dnsProxySettingsC, dnsProxySettings);
            return(dnsProxySettings);
        }
Exemple #5
0
        private static void RunEngine(EngineParams engineParams)
        {
            try
            {
                if (IsRunInProgress())
                {
                    Logger.LogInfo("Cannot start engine. A run is already in progress.");
                    return;
                }

                Logger.LogInfo("--------------------------------------------------------------------------------");
                Logger.LogInfo("EngineLoader: Going to trigger a run.");
                _engine.RunEngine(engineParams).RunSynchronously();
            }
            catch (Exception e)
            {
                Logger.LogError("Exception thrown in InvokeEngine: {0}.", e);
            }
        }
 protected MultiTargetJob(CustomJob job, EngineParams engineParams, IOrganizationService service, CrmLog log)
     : base(job, engineParams, service, log)
 {
 }
Exemple #7
0
 protected NoPagingJob(CustomJob job, EngineParams engineParams, IOrganizationService service, CrmLog log)
     : base(job, engineParams, service, log)
 {
 }
Exemple #8
0
 public RecurrentRunJob(CustomJob job, EngineParams engineParams, IOrganizationService service, CrmLog log)
     : base(job, engineParams, service, log)
 {
 }
 public NoPagingRetryJob(CustomJob job, EngineParams engineParams, IOrganizationService service, CrmLog log)
     : base(job, engineParams, service, log)
 {
 }
 public SingleRunJob(CustomJob job, EngineParams engineParams, JobTarget target, IOrganizationService service, CrmLog log)
     : base(job, engineParams, service, log)
 {
     JobTarget = target;
 }
 public SingleTargetJob(CustomJob job, EngineParams engineParams, IOrganizationService service, CrmLog log)
     : base(job, engineParams, service, log)
 {
 }