public WebApplication( IApplicationMetadata metadata, int startupTimeout, IApplicationPackage package, Dictionary <string, object> args, // ReSharper disable once ParameterTypeCanBeEnumerable.Local IParagonPlugin[] kernelPlugins, Func <ICefWebBrowser> newBrowser, Func <IApplicationWindowEx> newAppWindow, Func <IApplicationWindowManagerEx> newWindowManager) { Logger = ParagonLogManager.GetLogger(); Metadata = metadata; Package = package; Args = args; Plugins = new List <IParagonPlugin>(kernelPlugins); _createNewWindow = newAppWindow; _createNewBrowser = newBrowser; _createWindowManager = newWindowManager; _eventPageLaunchTimeout = TimeSpan.FromSeconds(startupTimeout); _renderPlugins = new RenderSidePluginData() { PackagePath = Package != null ? Package.PackageFilePath : string.Empty, Plugins = new List <ApplicationPlugin>() }; SystemEvents.SessionEnding += OnSessionEnding; ParagonRuntime.RenderProcessInitialize += OnRenderProcessInitialize; }
private IApplication CreateWebApplication(IApplicationMetadata metadata, IApplicationPackage package, Dictionary <string, object> args) { return(new WebApplication( metadata, package.Manifest.App.StartupTimeout, package, args, _kernelPlugins(), _createBrowser, _createWindow, _createWindowManager)); }
public bool Equals(IApplicationMetadata other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(string.Equals(Id, other.Id) && string.Equals(InstanceId, other.InstanceId)); }
public IApplication CreateApplication(IApplicationMetadata metadata, IApplicationPackage package, Dictionary <string, object> args) { metadata.Id = package.Manifest.Id; metadata.AppType = package.Manifest.Type; switch (package.Manifest.Type) { case ApplicationType.Hosted: return(CreateWebApplication(metadata, package, args)); case ApplicationType.Packaged: return(CreateWebApplication(metadata, package, args)); default: throw new Exception("Unknown application type"); } }
public void CreateDefaultCommand(IApplicationMetadata applicationMetadata) { CommandInfo defaultCommandInfo = _type.GetDefaultCommandInfo(_settings); if (defaultCommandInfo != null) { ConfigureMetadata(_app, applicationMetadata); ConfigureCommandLineApplication(_app, defaultCommandInfo); } else { ConfigureMetadata(_app, applicationMetadata); _app.OnExecute(() => { _app.ShowHelp(); return(Task.FromResult(0)); }); } }
private static void ConfigureMetadata(CommandLineApplication app, IApplicationMetadata applicationMetadata) { app.Description = applicationMetadata?.Description; app.ExtendedHelpText = applicationMetadata?.ExtendedHelpText; app.HelpOption(Constants.HelpTemplate); }