示例#1
0
    public void ParseLogsFromDiskLive(bool reverse, bool killOnly, bool filter, CoconaAppContext context)
    {
        Spinner.Start("Starting live parsing ...", spinner =>
        {
            var arcdpsSpinner        = new Spinner("arcdps watcher: starting...");
            var eliteInsightsSpinner = new Spinner("Elite Insights watcher: starting...");

            arcdpsSpinner.Start();
            eliteInsightsSpinner.Start();

            var arcDpsWatcher = WatchForArcDpsFiles(new List <string>(), arcdpsSpinner);
            var eiWatcher     = WatchForEiFiles(new List <RaidModel>(), reverse, killOnly, filter, eliteInsightsSpinner);

            while (!context.CancellationToken.IsCancellationRequested)
            {
                spinner.Text = "Live parsing ... (press CTRL+C to stop)";
            }

            arcDpsWatcher.EnableRaisingEvents = false;
            eiWatcher.EnableRaisingEvents     = false;

            eiWatcher.Dispose();
            arcDpsWatcher.Dispose();

            arcdpsSpinner.Info("arcdps watcher: stopped");
            eliteInsightsSpinner.Info("Elite Insights watcher: stopped");
            spinner.Info("Live parsing stopped.");
        });
    }