Files
mROA/Example.Frontend/Program.cs
T

28 lines
972 B
C#
Raw Normal View History

// See https://aka.ms/new-console-template for more information
2025-02-05 16:01:02 +03:00
using System.Net;
using System.Text;
using mROA.Codegen;
using mROA.Implementation;
using mROA.Implementation.Bootstrap;
var mixer = new FullMixBuilder();
mixer.Modules.Add(new FrontendContextRepository());
mixer.Modules.Add(new JsonFrontendSerialisationModule());
2025-02-05 16:01:02 +03:00
mixer.Modules.Add(new StreamBasedFrontendInteractionModule());
mixer.Modules.Add(new NetworkFrontendBridge(new IPEndPoint(IPAddress.Loopback, 4567)));
mixer.Build();
var context = mixer.GetModule<FrontendContextRepository>();
2025-02-05 16:01:02 +03:00
var factory = context.GetSingleObject(typeof(Example.Shared.IPrinterFactory)) as Example.Shared.IPrinterFactory;
var printer = factory.Create("Test");
var name = printer.Value.GetName();
Console.WriteLine("Printer name : {0}", name);
2025-02-06 09:18:52 +03:00
var page = await printer.Value.Print("Test Page", new CancellationToken());
var data = page.Value.GetData();
Console.WriteLine("Data : {0}", Encoding.UTF8.GetString(data));