/// <summary> /// Initializes a new instance of the <see cref="DreamMaker"/> class. /// </summary> /// <param name="byond">The value of <see cref="byond"/>.</param> /// <param name="ioManager">The value of <see cref="ioManager"/>.</param> /// <param name="configuration">The value of <see cref="configuration"/>.</param> /// <param name="sessionControllerFactory">The value of <see cref="sessionControllerFactory"/>.</param> /// <param name="eventConsumer">The value of <see cref="eventConsumer"/>.</param> /// <param name="chatManager">The value of <see cref="chatManager"/>.</param> /// <param name="processExecutor">The value of <see cref="processExecutor"/>.</param> /// <param name="compileJobConsumer">The value of <see cref="compileJobConsumer"/>.</param> /// <param name="repositoryManager">The value of <see cref="repositoryManager"/>.</param> /// <param name="remoteDeploymentManagerFactory">The value of <see cref="remoteDeploymentManagerFactory"/>.</param> /// <param name="logger">The value of <see cref="logger"/>.</param> /// <param name="metadata">The value of <see cref="metadata"/>.</param> public DreamMaker( IByondManager byond, IIOManager ioManager, StaticFiles.IConfiguration configuration, ISessionControllerFactory sessionControllerFactory, IEventConsumer eventConsumer, IChatManager chatManager, IProcessExecutor processExecutor, ICompileJobSink compileJobConsumer, IRepositoryManager repositoryManager, IRemoteDeploymentManagerFactory remoteDeploymentManagerFactory, ILogger <DreamMaker> logger, Api.Models.Instance metadata) { this.byond = byond ?? throw new ArgumentNullException(nameof(byond)); this.ioManager = ioManager ?? throw new ArgumentNullException(nameof(ioManager)); this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.sessionControllerFactory = sessionControllerFactory ?? throw new ArgumentNullException(nameof(sessionControllerFactory)); this.eventConsumer = eventConsumer ?? throw new ArgumentNullException(nameof(eventConsumer)); this.chatManager = chatManager ?? throw new ArgumentNullException(nameof(chatManager)); this.processExecutor = processExecutor ?? throw new ArgumentNullException(nameof(processExecutor)); this.compileJobConsumer = compileJobConsumer ?? throw new ArgumentNullException(nameof(compileJobConsumer)); this.repositoryManager = repositoryManager ?? throw new ArgumentNullException(nameof(repositoryManager)); this.remoteDeploymentManagerFactory = remoteDeploymentManagerFactory ?? throw new ArgumentNullException(nameof(remoteDeploymentManagerFactory)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.metadata = metadata ?? throw new ArgumentNullException(nameof(metadata)); deploymentLock = new object(); }
/// <summary> /// Construct an <see cref="Instance"/> /// </summary> /// <param name="metadata">The value of <see cref="metadata"/></param> /// <param name="repositoryManager">The value of <see cref="RepositoryManager"/></param> /// <param name="byondManager">The value of <see cref="ByondManager"/></param> /// <param name="dreamMaker">The value of <see cref="dreamMaker"/></param> /// <param name="watchdog">The value of <see cref="Watchdog"/></param> /// <param name="chat">The value of <see cref="Chat"/></param> /// <param name="configuration">The value of <see cref="Configuration"/></param> /// <param name="compileJobConsumer">The value of <see cref="compileJobConsumer"/></param> /// <param name="databaseContextFactory">The value of <see cref="databaseContextFactory"/></param> /// <param name="dmbFactory">The value of <see cref="dmbFactory"/></param> /// <param name="jobManager">The value of <see cref="jobManager"/></param> /// <param name="eventConsumer">The value of <see cref="eventConsumer"/></param> /// <param name="gitHubClientFactory">The value of <see cref="gitHubClientFactory"/></param> /// <param name="logger">The value of <see cref="logger"/></param> public Instance( Api.Models.Instance metadata, IRepositoryManager repositoryManager, IByondManager byondManager, IDreamMaker dreamMaker, IWatchdog watchdog, IChat chat, StaticFiles.IConfiguration configuration, ICompileJobConsumer compileJobConsumer, IDatabaseContextFactory databaseContextFactory, IDmbFactory dmbFactory, IJobManager jobManager, IEventConsumer eventConsumer, IGitHubClientFactory gitHubClientFactory, ILogger <Instance> logger) { this.metadata = metadata ?? throw new ArgumentNullException(nameof(metadata)); RepositoryManager = repositoryManager ?? throw new ArgumentNullException(nameof(repositoryManager)); ByondManager = byondManager ?? throw new ArgumentNullException(nameof(byondManager)); this.dreamMaker = dreamMaker ?? throw new ArgumentNullException(nameof(dreamMaker)); Watchdog = watchdog ?? throw new ArgumentNullException(nameof(watchdog)); Chat = chat ?? throw new ArgumentNullException(nameof(chat)); Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.compileJobConsumer = compileJobConsumer ?? throw new ArgumentNullException(nameof(compileJobConsumer)); this.databaseContextFactory = databaseContextFactory ?? throw new ArgumentNullException(nameof(databaseContextFactory)); this.dmbFactory = dmbFactory ?? throw new ArgumentNullException(nameof(dmbFactory)); this.jobManager = jobManager ?? throw new ArgumentNullException(nameof(jobManager)); this.eventConsumer = eventConsumer ?? throw new ArgumentNullException(nameof(eventConsumer)); this.gitHubClientFactory = gitHubClientFactory ?? throw new ArgumentNullException(nameof(gitHubClientFactory)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
/// <summary> /// Construct an <see cref="Instance"/> /// </summary> /// <param name="metadata">The value of <see cref="metadata"/></param> /// <param name="repositoryManager">The value of <see cref="RepositoryManager"/></param> /// <param name="byondManager">The value of <see cref="ByondManager"/></param> /// <param name="dreamMaker">The value of <see cref="DreamMaker"/></param> /// <param name="watchdog">The value of <see cref="Watchdog"/></param> /// <param name="chat">The value of <see cref="Chat"/></param> /// <param name="configuration">The value of <see cref="Configuration"/></param> /// <param name="dmbFactory">The value of <see cref="dmbFactory"/></param> /// <param name="jobManager">The value of <see cref="jobManager"/></param> /// <param name="eventConsumer">The value of <see cref="eventConsumer"/></param> /// <param name="remoteDeploymentManagerFactory">The value of <see cref="remoteDeploymentManagerFactory"/>.</param> /// <param name="logger">The value of <see cref="logger"/></param> public Instance( Api.Models.Instance metadata, IRepositoryManager repositoryManager, IByondManager byondManager, IDreamMaker dreamMaker, IWatchdog watchdog, IChatManager chat, StaticFiles.IConfiguration configuration, IDmbFactory dmbFactory, IJobManager jobManager, IEventConsumer eventConsumer, IRemoteDeploymentManagerFactory remoteDeploymentManagerFactory, ILogger <Instance> logger) { this.metadata = metadata ?? throw new ArgumentNullException(nameof(metadata)); RepositoryManager = repositoryManager ?? throw new ArgumentNullException(nameof(repositoryManager)); ByondManager = byondManager ?? throw new ArgumentNullException(nameof(byondManager)); DreamMaker = dreamMaker ?? throw new ArgumentNullException(nameof(dreamMaker)); Watchdog = watchdog ?? throw new ArgumentNullException(nameof(watchdog)); Chat = chat ?? throw new ArgumentNullException(nameof(chat)); Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.dmbFactory = dmbFactory ?? throw new ArgumentNullException(nameof(dmbFactory)); this.jobManager = jobManager ?? throw new ArgumentNullException(nameof(jobManager)); this.eventConsumer = eventConsumer ?? throw new ArgumentNullException(nameof(eventConsumer)); this.remoteDeploymentManagerFactory = remoteDeploymentManagerFactory ?? throw new ArgumentNullException(nameof(remoteDeploymentManagerFactory)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); timerLock = new object(); }
/// <summary> /// Construct a <see cref="SessionControllerFactory"/> /// </summary> /// <param name="processExecutor">The value of <see cref="processExecutor"/></param> /// <param name="byond">The value of <see cref="byond"/></param> /// <param name="byondTopicSender">The value of <see cref="byondTopicSender"/></param> /// <param name="cryptographySuite">The value of <see cref="cryptographySuite"/></param> /// <param name="application">The value of <see cref="application"/></param> /// <param name="instance">The value of <see cref="instance"/></param> /// <param name="ioManager">The value of <see cref="ioManager"/></param> /// <param name="chat">The value of <see cref="chat"/></param> /// <param name="networkPromptReaper">The value of <see cref="networkPromptReaper"/></param> /// <param name="platformIdentifier">The value of <see cref="platformIdentifier"/></param> /// <param name="loggerFactory">The value of <see cref="loggerFactory"/></param> public SessionControllerFactory( IProcessExecutor processExecutor, IByondManager byond, IByondTopicSender byondTopicSender, ICryptographySuite cryptographySuite, IApplication application, IIOManager ioManager, IChat chat, INetworkPromptReaper networkPromptReaper, IPlatformIdentifier platformIdentifier, ILoggerFactory loggerFactory, Api.Models.Instance instance) { this.processExecutor = processExecutor ?? throw new ArgumentNullException(nameof(processExecutor)); this.byond = byond ?? throw new ArgumentNullException(nameof(byond)); this.byondTopicSender = byondTopicSender ?? throw new ArgumentNullException(nameof(byondTopicSender)); this.cryptographySuite = cryptographySuite ?? throw new ArgumentNullException(nameof(cryptographySuite)); this.application = application ?? throw new ArgumentNullException(nameof(application)); this.instance = instance ?? throw new ArgumentNullException(nameof(instance)); this.ioManager = ioManager ?? throw new ArgumentNullException(nameof(ioManager)); this.chat = chat ?? throw new ArgumentNullException(nameof(chat)); this.networkPromptReaper = networkPromptReaper ?? throw new ArgumentNullException(nameof(networkPromptReaper)); this.platformIdentifier = platformIdentifier ?? throw new ArgumentNullException(nameof(platformIdentifier)); this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)); }
/// <summary> /// Construct a <see cref="CommandFactory"/> /// </summary> /// <param name="application">The value of <see cref="application"/></param> /// <param name="byondManager">The value of <see cref="byondManager"/></param> /// <param name="repositoryManager">The value of <see cref="repositoryManager"/></param> /// <param name="databaseContextFactory">The value of <see cref="databaseContextFactory"/></param> /// <param name="instance">The value of <see cref="instance"/></param> public CommandFactory(IApplication application, IByondManager byondManager, IRepositoryManager repositoryManager, IDatabaseContextFactory databaseContextFactory, Models.Instance instance) { this.application = application ?? throw new ArgumentNullException(nameof(application)); this.byondManager = byondManager ?? throw new ArgumentNullException(nameof(byondManager)); this.repositoryManager = repositoryManager ?? throw new ArgumentNullException(nameof(repositoryManager)); this.databaseContextFactory = databaseContextFactory ?? throw new ArgumentNullException(nameof(databaseContextFactory)); this.instance = instance ?? throw new ArgumentNullException(nameof(instance)); }
/// <summary> /// Initializes a new instance of the <see cref="CommandFactory"/> class. /// </summary> /// <param name="assemblyInformationProvider">The value of <see cref="assemblyInformationProvider"/>.</param> /// <param name="byondManager">The value of <see cref="byondManager"/>.</param> /// <param name="repositoryManager">The value of <see cref="repositoryManager"/>.</param> /// <param name="databaseContextFactory">The value of <see cref="databaseContextFactory"/>.</param> /// <param name="instance">The value of <see cref="instance"/>.</param> public CommandFactory( IAssemblyInformationProvider assemblyInformationProvider, IByondManager byondManager, IRepositoryManager repositoryManager, IDatabaseContextFactory databaseContextFactory, Models.Instance instance) { this.assemblyInformationProvider = assemblyInformationProvider ?? throw new ArgumentNullException(nameof(assemblyInformationProvider)); this.byondManager = byondManager ?? throw new ArgumentNullException(nameof(byondManager)); this.repositoryManager = repositoryManager ?? throw new ArgumentNullException(nameof(repositoryManager)); this.databaseContextFactory = databaseContextFactory ?? throw new ArgumentNullException(nameof(databaseContextFactory)); this.instance = instance ?? throw new ArgumentNullException(nameof(instance)); }
/// <summary> /// Construct <see cref="DreamMaker"/> /// </summary> /// <param name="byond">The value of <see cref="byond"/></param> /// <param name="ioManager">The value of <see cref="ioManager"/></param> /// <param name="configuration">The value of <see cref="configuration"/></param> /// <param name="sessionControllerFactory">The value of <see cref="sessionControllerFactory"/></param> /// <param name="compileJobConsumer">The value of <see cref="compileJobConsumer"/></param> /// <param name="application">The value of <see cref="application"/></param> /// <param name="eventConsumer">The value of <see cref="eventConsumer"/></param> /// <param name="chat">The value of <see cref="chat"/></param> /// <param name="processExecutor">The value of <see cref="processExecutor"/></param> /// <param name="logger">The value of <see cref="logger"/></param> public DreamMaker(IByondManager byond, IIOManager ioManager, StaticFiles.IConfiguration configuration, ISessionControllerFactory sessionControllerFactory, ICompileJobConsumer compileJobConsumer, IApplication application, IEventConsumer eventConsumer, IChat chat, IProcessExecutor processExecutor, ILogger <DreamMaker> logger) { this.byond = byond; this.ioManager = ioManager ?? throw new ArgumentNullException(nameof(ioManager)); this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.sessionControllerFactory = sessionControllerFactory ?? throw new ArgumentNullException(nameof(sessionControllerFactory)); this.compileJobConsumer = compileJobConsumer ?? throw new ArgumentNullException(nameof(compileJobConsumer)); this.application = application ?? throw new ArgumentNullException(nameof(application)); this.eventConsumer = eventConsumer ?? throw new ArgumentNullException(nameof(eventConsumer)); this.chat = chat ?? throw new ArgumentNullException(nameof(chat)); this.processExecutor = processExecutor ?? throw new ArgumentNullException(nameof(processExecutor)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
/// <summary> /// Construct a <see cref="ByondCommand"/> /// </summary> /// <param name="byondManager">The value of <see cref="byondManager"/></param> /// <param name="watchdog">The value of <see cref="watchdog"/></param> public ByondCommand(IByondManager byondManager, IWatchdog watchdog) { this.byondManager = byondManager ?? throw new ArgumentNullException(nameof(byondManager)); this.watchdog = watchdog ?? throw new ArgumentNullException(nameof(watchdog)); }
/// <summary> /// Construct a <see cref="ByondCommand"/> /// </summary> /// <param name="byondManager">The value of <see cref="byondManager"/></param> public ByondCommand(IByondManager byondManager) { this.byondManager = byondManager ?? throw new ArgumentNullException(nameof(byondManager)); }