public IcuClient(IcuConfig config, RPC.IProxy rpc, UIHelper ui) { if (!ENV.IsWasm) { config.SessionID = Guid.NewGuid().ToString(); } this.UI = ui; this.Config = config; this.Session = new IcuSession(config, rpc); this.MsgBus = Session.MsgBus; }
public static IServiceCollection AddIcuBlazor (this IServiceCollection services, IcuConfig config) { services.AddSingleton(config); services.AddScoped <UIHelper>(); services.AddTransient <IcuClient>(); // one for each IcuTestViewer services.AddTransient(typeof(RPC.IProxy), RPC.ProxyType(config)); services.AddHttpClient("ICUapi"); services.AddProtectedBrowserStorage(); if (String.IsNullOrEmpty(config.IcuServer)) // probably server { } else // client { var uri = new Uri(config.IcuServer); ENV.IsLocalhost = uri.IsLoopback; } ENV.IsIcuEnabled = true; DBG.Verbosity = config.Verbosity; DBG.SetSystem("ICU"); return(services); }