public static void Main() { using (var flowRuntime = new FlowRuntime()) { flowRuntime.AddStream(".in", "Dateien im Pfad ermitteln"); flowRuntime.AddStream(".abort", "Ermittlung abbrechen"); flowRuntime.AddStream("Dateien im Pfad ermitteln", "filtern"); flowRuntime.AddStream("filtern", "map"); var viewModel = new ViewModel(); var mainWindow = new MainWindow(viewModel); var map = new Map(viewModel); var dateien_im_Pfad_ermitteln = new Dateien_im_Pfad_ermitteln(); var flowOperationContainer = new FlowOperationContainer(() => new WpfSynchronize<IMessage>()) .AddFunc<string, IEnumerable<messages.Datei>>("Dateien im Pfad ermitteln", dateien_im_Pfad_ermitteln.Process) .MakeAsync() .AddAction("Ermittlung abbrechen", dateien_im_Pfad_ermitteln.Abbrechen) .AddFunc<IEnumerable<messages.Datei>, IEnumerable<messages.Datei>>("filtern", Filtern_der_20_groessten_Dateien.Process) .AddAction<IEnumerable<messages.Datei>>("map", map.Process) .MakeSync(); flowRuntime.AddOperations(flowOperationContainer.Operations); flowRuntime.UnhandledException += e => MessageBox.Show(e.InnerException.Message); mainWindow.Suchen += flowRuntime.CreateEventProcessor<string>(".in"); mainWindow.Abbrechen += flowRuntime.CreateEventProcessor(".abort"); var app = new Application {MainWindow = mainWindow}; app.Run(app.MainWindow); } }
public static void Main(string[] args) { using(var fr = new FlowRuntime()) { fr.Message += Console.WriteLine; fr.UnhandledException += Console.WriteLine; fr.AddOperation(new Eindeutige_Stichwörter_ermitteln()); fr.AddStream(".in", "ermitteln.in"); fr.AddStream("ermitteln.out", "auf konsole ausgeben"); fr.AddStream("auf konsole ausgeben", ".out"); fr.AddOperations(new FlowOperationContainer() .AddFunc<IEnumerable<string>,int>("auf konsole ausgeben", Auf_Konsole_ausgeben.Process) .Operations); fr.Process(new Message(".in", new Tuple<string, string>(args[0], args[1]))); fr.WaitForResult(-1); } }