コード例 #1
0
 public Engine(ISiteDataProvider urlProvider, Dictionary <string, object> args)
     : this(urlProvider, int.Parse((string)args["threads"]))
 {
     browser     = (string)args.GetValueOrDefault("browser", browser);
     headless    = bool.Parse((string)args.GetValueOrDefault("headless", "false"));
     gridAddress = (string)args.GetValueOrDefault("gridAddress", null);
 }
コード例 #2
0
 public void Reload(ISiteDataProvider provider)
 {
     new SitesXmlLoader(provider).Load(provider.LoadXmlData(), ref sitesModel);
     if (sitesModel != null)
     {
         provider.SaveDataToLocal(sitesModel);
     }
 }
コード例 #3
0
ファイル: Buider.cs プロジェクト: yanirta/dotnetMonitor
    public Engine build()
    {
        ISiteDataProvider siteDataProvider = getProvider <ISiteDataProvider>("siteDataProvider");
        List <IValidator> validators       = getProviders <IValidator>("validators");
        INotifyer         notifyer         = getProvider <INotifyer>("notifyer");
        Engine            engine           = new Engine(siteDataProvider, getComponetsParams("engine"));

        engine.registerValidators(validators);
        engine.registerNotifyer(notifyer);
        return(engine);
    }
コード例 #4
0
 public Engine(ISiteDataProvider urlProvider, int threadCount)
 {
     this.urlProvider = urlProvider;
     //TODO threads cap and validation
     threads = new List <Thread>(threadCount);
     for (int i = 0; i < threadCount; ++i)
     {
         threads.Add(
             new Thread(new ThreadStart(worker))
         {
             Name = $"Monitor thread #{i}"
         });
     }
 }
コード例 #5
0
        public SitesProvider(ISiteDataProvider provider)
        {
            var data = provider.LoadDataLocal();

            if (data == null)
            {
                new SitesXmlLoader(provider).Load(provider.LoadXmlData(), ref sitesModel);
                if (sitesModel != null)
                {
                    provider.SaveDataToLocal(sitesModel);
                }
            }
            else
            {
                sitesModel = data;
            }
        }
コード例 #6
0
 public SitesXmlLoader(ISiteDataProvider provider)
 {
     this.dataProvider = provider;
 }