Пример #1
0
        private static async Task InitGlobalDatabaseAndServices()
        {
            string globalDatabaseFile = Path.Combine(SharedInfo.ConfigDirectory, SharedInfo.GlobalDatabaseFileName);

            if (!File.Exists(globalDatabaseFile))
            {
                ASF.ArchiLogger.LogGenericInfo(Strings.Welcome);
                ASF.ArchiLogger.LogGenericWarning(Strings.WarningPrivacyPolicy);
                await Task.Delay(10 * 1000).ConfigureAwait(false);
            }

            GlobalDatabase = GlobalDatabase.Load(globalDatabaseFile);
            if (GlobalDatabase == null)
            {
                ASF.ArchiLogger.LogGenericError(string.Format(Strings.ErrorDatabaseInvalid, globalDatabaseFile));
                await Task.Delay(5 * 1000).ConfigureAwait(false);
                await Exit(1).ConfigureAwait(false);

                return;
            }

            ArchiWebHandler.Init();
            IPC.Initialize(GlobalConfig.IPCHost, GlobalConfig.IPCPort);
            OS.Init(GlobalConfig.Headless);
            WebBrowser.Init();

            WebBrowser = new WebBrowser(ASF.ArchiLogger, true);
        }
Пример #2
0
        private static async Task InitASF(IReadOnlyCollection <string>?args)
        {
            OS.CoreInit();

            Console.Title = SharedInfo.ProgramIdentifier;
            ASF.ArchiLogger.LogGenericInfo(SharedInfo.ProgramIdentifier);

            if (!await InitGlobalConfigAndLanguage().ConfigureAwait(false))
            {
                return;
            }

            if (ASF.GlobalConfig == null)
            {
                throw new ArgumentNullException(nameof(ASF.GlobalConfig));
            }

            // Parse post-init args
            if (args != null)
            {
                ParsePostInitArgs(args);
            }

            OS.Init(SystemRequired, ASF.GlobalConfig.OptimizationMode);

            await InitGlobalDatabaseAndServices().ConfigureAwait(false);

            await ASF.Init().ConfigureAwait(false);
        }
Пример #3
0
        private static async Task InitASF(IReadOnlyCollection <string> args)
        {
            ASF.ArchiLogger.LogGenericInfo(SharedInfo.PublicIdentifier + " V" + SharedInfo.Version + " (" + SharedInfo.BuildInfo.Variant + "/" + SharedInfo.ModuleVersion + " | " + OS.Variant + ")");

            await InitGlobalConfigAndLanguage().ConfigureAwait(false);

            // Parse post-init args
            if (args != null)
            {
                ParsePostInitArgs(args);
            }

            OS.Init(SystemRequired, GlobalConfig.OptimizationMode);

            await InitGlobalDatabaseAndServices().ConfigureAwait(false);

            await ASF.Init().ConfigureAwait(false);
        }
Пример #4
0
        private static async Task InitASF(IReadOnlyCollection <string> args)
        {
            ASF.ArchiLogger.LogGenericInfo(SharedInfo.PublicIdentifier + " V" + SharedInfo.Version + " (" + SharedInfo.ModuleVersion + ")");

            await InitGlobalConfigAndLanguage().ConfigureAwait(false);

            // Parse post-init args
            if (args != null)
            {
                ParsePostInitArgs(args);
            }

            OS.Init(SystemRequired);

            await InitGlobalDatabaseAndServices().ConfigureAwait(false);

            await ASF.CheckAndUpdateProgram().ConfigureAwait(false);

            await ASF.InitBots().ConfigureAwait(false);

            ASF.InitEvents();
        }