private static VersionKeeperSettings WriteDefaultSettingsFile()
        {
            var cfg = VersionKeeperSettings.CreateDefault();

            JsonFile.Write(cfg, FILE_NAME);
            return(cfg);
        }
示例#2
0
        private static UpdateCheckerSettings ComposeCfg(
            string filePath, VersionKeeperSettings serverCfg, bool updateSelf)
        {
            var cfg = new UpdateCheckerSettings
            {
                ServerURL  = serverCfg.ServerURL,
                UserAgent  = "test client",
                SharedKey  = serverCfg.SharedKey,
                UpdateSelf = updateSelf,
                CanExitApp = true,
            };

            if (filePath.IsBlank())
            {
                return(cfg);
            }
            var dict = ComposeDict(filePath, serverCfg);

            if (filePath.EndsWith(".exe"))
            {
                cfg.Executables = dict;
            }

            else if (filePath.EndsWith(".LiteDB"))
            {
                cfg.AppendOnlyDBs = dict;
            }
            else
            {
                cfg.BinaryFiles = dict;
            }

            return(cfg);
        }
示例#3
0
 public VersionKeeperHub1(VersionKeeperSettings versionKeeperSettings,
                          SharedLogListVM sharedLogListVM,
                          AuthorizeHelperV1 authorizeHelperV1)
 {
     _cfg     = versionKeeperSettings;
     _logs    = sharedLogListVM;
     _clients = authorizeHelperV1;
     _clients.TargetHubName = VersionKeeperHub.Name;
 }
 private static void SetDefaults(ref VersionKeeperSettings cfg)
 {
     if (cfg.BinaryFiles == null)
     {
         cfg.BinaryFiles = new Dictionary <string, string>();
     }
     if (cfg.AppendOnlyDBs == null)
     {
         cfg.AppendOnlyDBs = new Dictionary <string, string>();
     }
 }
示例#5
0
        internal static Process StartWith(string filePath, int portOffset, out VersionKeeperSettings serverCfg, string fileKey = "binary1")
        {
            var tmpDir = CreateDir.InTemp();
            var tmpExe = Path.Combine(tmpDir, EXE_NAME);

            File.Copy(GetDebugExe(), tmpExe);

            var cfgUri = Path.Combine(tmpDir, VersionKeeperCfgFile.FILE_NAME);

            serverCfg = ComposeCfg(filePath, portOffset, fileKey);
            JsonFile.Write(serverCfg, cfgUri);
            return(Process.Start(tmpExe));
        }
        public MainVersionKeeperWindowVM(SignalrServerToggleVM signalRServerToggleVM,
                                         CurrentHubClientsVM currentHubClientsVM,
                                         SharedLogListVM commonLogListVM,
                                         VersionKeeperSettings versionKeeperSettings,
                                         ClonedCopyExeUpdater clonedCopyExeUpdater,
                                         AppUpdateNotifierVM appUpdateNotifierVM)
        {
            Config       = versionKeeperSettings;
            Clients      = currentHubClientsVM;
            CommonLogs   = commonLogListVM;
            Updater      = appUpdateNotifierVM;
            _cloneUpdatr = clonedCopyExeUpdater;

            ServerToggle = signalRServerToggleVM;
            ServerToggle.StartServerCmd.ExecuteIfItCan();

            TestSend1Cmd = R2Command.Async(TestSend1, null, "Request States");
            TestSend2Cmd = R2Command.Async(TestSend2, null, "Test Broadcast");
        }
示例#7
0
        internal static async Task <Process> StartWith(string filePath, VersionKeeperSettings serverCfg, bool updateSelf = false)
        {
            var tmpDir = CreateDir.InTemp();
            var tmpExe = Path.Combine(tmpDir, EXE_NAME);

            File.Copy(GetDebugExe(), tmpExe);

            var cfgUri = Path.Combine(tmpDir, UpdateCheckerCfgFile.FILE_NAME);
            var cfgObj = ComposeCfg(filePath, serverCfg, updateSelf);

            JsonFile.Write(cfgObj, cfgUri);

            await Task.Delay(1000 * 2);

            var proc = Process.Start(tmpExe);

            await Task.Delay(1000 * 4);

            return(proc);
        }
示例#8
0
        private static VersionKeeperSettings ComposeCfg(string filePath, int portOffset, string fileKey)
        {
            var cfg = new VersionKeeperSettings
            {
                ServerURL = ComposeServerURL(portOffset),
                SharedKey = Path.GetRandomFileName(),
            };
            var dict = ComposeDict(fileKey, filePath);

            if (filePath.EndsWith(".LiteDB"))
            {
                cfg.AppendOnlyDBs = dict;
            }
            else
            {
                cfg.BinaryFiles = dict;
            }

            return(cfg);
        }
示例#9
0
 private static string FindKey(VersionKeeperSettings serverCfg)
 => serverCfg.BinaryFiles == null
         ? serverCfg.AppendOnlyDBs.First().Key
         : serverCfg.BinaryFiles.First().Key;
示例#10
0
 private static Dictionary <string, string> ComposeDict(string filePath, VersionKeeperSettings serverCfg) => new Dictionary <string, string>
 {
     { FindKey(serverCfg), filePath }
 };