private void bw_Login(object sender, DoWorkEventArgs e) { var bw = sender as BackgroundWorker; string error; if (Thread.CurrentThread.Name == null) { Thread.CurrentThread.Name = "BackupLogin"; } Properties.Settings.Default.OnlineBackupEmail = tbEmail.Text; Properties.Settings.Default.Save(); var token = new ItemSynchronizer(_playerItemDao, string.Empty, GlobalSettings.RemoteBackupServer, null) .Login(tbEmail.Text, out error); if (!string.IsNullOrEmpty(token)) { Properties.Settings.Default.OnlineBackupToken = token; Properties.Settings.Default.Save(); bw.ReportProgress(1); } else { bw.ReportProgress(2, error); } }
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { var s = new ItemSynchronizer(_playerItemDao, Properties.Settings.Default.OnlineBackupToken, GlobalSettings.RemoteBackupServer, null); s.Logout(); backupEmailLabel.Text = ""; Properties.Settings.Default.LastOnlineBackup = 0; Properties.Settings.Default.OnlineBackupVerified = false; Properties.Settings.Default.OnlineBackupToken = string.Empty; Properties.Settings.Default.Save(); _enableOnlineBackups(false); OnlineBackupsActive = false; }
private void EnableOnlineBackups(bool enable) { if (enable) { if (_itemSynchronizer == null) { _itemSynchronizer = new ItemSynchronizer( _playerItemDao, Settings.Default.OnlineBackupToken, GlobalSettings.RemoteBackupServer, OnlineBackupAuthFailureHandler); _itemSynchronizer.Start(); } } else { _itemSynchronizer?.Dispose(); _itemSynchronizer = null; } }
// TODO: Create a background worker which every 10 seconds checks for online verification status private void bw_verify(object sender, DoWorkEventArgs e) { var bw = sender as BackgroundWorker; var sync = new ItemSynchronizer(_playerItemDao, string.Empty, GlobalSettings.RemoteBackupServer, null); Stopwatch sw = new Stopwatch(); sw.Start(); while (!bw.CancellationPending) { if (sw.ElapsedMilliseconds > 10 * 1000) { if (sync.Verify(Properties.Settings.Default.OnlineBackupToken)) { bw.ReportProgress(3); return; } sw.Restart(); } Thread.Sleep(10); } }
private void OnlineBackupAuthFailureHandler() { Logger.Warn("Online backup failed due to an authentication failure."); _itemSynchronizer?.Dispose(); _itemSynchronizer = null; }