示例#1
0
        void _playControl_RequestUpdateCheck(LobbyType lobbyType, PlayControl.LoginToLobbyCallback loginToLobbyCallback)
        {
            _updateCheckControl = new UpdateCheckControl();
            if (_updateCheckControl.HasPendingUpdates == true)
            {
                SystemWatcher.Close();

                _playControl.Visible = false;

                _updateCheckControl.Parent              = _mainTabControl.TabPages[0];
                _updateCheckControl.Dock                = DockStyle.Fill;
                _updateCheckControl.AutoupdateComplete += new UpdateCheckControl.AutoupdateCompleteHandler(delegate(bool updateCanceled)
                {
                    _updateCheckControl.Visible = false;
                    _playControl.Visible        = true;

                    if (updateCanceled == false)
                    {
                        SystemWatcher.InitializeWithAutoupdateProtectedFileList();

                        loginToLobbyCallback(lobbyType);
                    }
                });

                _updateCheckControl.Show();
            }
            else
            {
                SystemWatcher.InitializeWithAutoupdateProtectedFileList();

                loginToLobbyCallback(lobbyType);
            }
        }
示例#2
0
        static async Task Main(string[] args)
        {
            //FolderActivity folderActivity = new FolderActivity();
            //DatabaseActivity databaseActivity = new DatabaseActivity();

            SystemWatcher systemWatcher = new SystemWatcher("C:\\Users\\ricar\\Music\\Música", "*.mp3");



            //databaseActivity.DeleteSongsDb();

            //Task insertTask = databaseActivity.InsertSongsDB(folderActivity.GetFilesFromDirectory());

            //var updateTasks = new List<Task> { insertTask };
            //while (updateTasks.Count > 0)
            //{
            //    Task finishedTask = await Task.WhenAny(updateTasks);
            //    if (finishedTask == insertTask)
            //    {
            //        Console.WriteLine("Completed!!!!!!!");
            //    }
            //    updateTasks.Remove(finishedTask);
            //}



            //folderActivity.ChangesInFolder();
            //Displays all songs
            //foreach (var item in unitOfWork.SongRepository.GetAll())
            //{
            //    Console.WriteLine(item.musicCompletePath);
            //    //Console.WriteLine(item.artist + "   --   " + item.title);
            //}

            //Console.WriteLine("\n\n\n");


            ////Displays all playlists
            //foreach (var item in unitOfWork.PlaylistRepository.GetAll())
            //{
            //    Console.WriteLine(item.playlistName + "   --   " + item.playlistMusicCount);
            //}


            //Console.WriteLine(inserted.ToString());
            //Console.WriteLine(saved.ToString());

            Console.ReadLine();
        }
示例#3
0
        /// <summary>
        /// When a repository has been selected, start a systemwatcher to look for live updates.
        /// </summary>
        private void ComboBoxAvailableRepos_SelectedIndexChanged(object sender, EventArgs e)
        {
            int         index = ComboBoxAvailableRepos.SelectedIndex;
            ReposConfig cnf   = ReposConfig.GetInstance();
            var         repo  = cnf.GetRepoDetailsByIndex(index);

            if (repo == null)
            {
                return;               // prevent concurrency error
            }
            cnf.SetSelectedByIndex(index);
            EventManager.Fire(EventCode.REFRESH_CHANGES); // refresh changelist

            var sys = SystemWatcher.GetInstance();

            sys.StartWatching(repo.GetLocal());
            sys.SetEventListener(OnWatcherEvent);
        }
示例#4
0
        private static void StartMainForm()
        {
            try
            {
                do
                {
                    Application.Run(new MainForm());

                    if (MainForm.Restart == true)
                    {
                        if (!ServiceHandler.CheckLogin())
                        {
                            using (var loginForm = new LoginForm())
                            {
                                if (loginForm.ShowDialog() != DialogResult.OK)
                                {
                                    return;
                                }

                                //launcherSignInStatus = loginForm.LauncherSignInStatus;
                            }
                        }
                    }
                } while (MainForm.Restart == true);
            }
            catch (Exception ex)
            {
                File.WriteAllText("ExceptionLog.txt", ex.ToString());
                throw;
            }
            finally
            {
                if (MainForm.LoggedIn)
                {
                    SessionNegotiator.Logout(true);
                }

                SystemWatcher.Close();
                AllegianceLoader.ExitAllegiance();
            }
        }
        internal void LoginToLobby(LobbyType lobbyType)
        {
            //Verify the form is filled out
            if (string.IsNullOrEmpty(_loginComboBox.Text))
            {
                return;
            }

            // TODO: Figure out where the alleg exe is and send it to the launcher.

            //Create a new session
            var signal = new TaskDelegate(delegate(object input)
            {
                var parameters = input as object[];
                var status     = (CheckInStatus)parameters[0];
                var message    = parameters[1] as string;
                var alias      = parameters[2] as string;
                var ticket     = parameters[3] as string;

                int rank = 0;

                if (parameters[4] != null)
                {
                    rank = (int)parameters[4];
                }

                Regex aliasFinder = new Regex(
                    "(?<callsign>.*?)(\\(\\d+\\))?$",
                    RegexOptions.ExplicitCapture
                    | RegexOptions.CultureInvariant
                    | RegexOptions.Compiled
                    );

                var match = aliasFinder.Match(alias);
                if (match.Success == true)
                {
                    alias = match.Groups["callsign"].Value;
                }

                if (status == CheckInStatus.AccountLinked)
                {
                    if (ReloadCallsigns != null)
                    {
                        ReloadCallsigns();
                    }
                }

                if (status == CheckInStatus.Ok || status == CheckInStatus.AccountLinked)
                {
                    //Initialize check-in interval
                    CheckInTimer          = new Timer();
                    CheckInTimer.Interval = CheckInInterval;
                    CheckInTimer.Tick    += new EventHandler(CheckInTimer_Tick);
                    CheckInTimer.Start();

                    //Launch Allegiance
                    MainForm.SetStatusBar("Launching Allegiance...");

                    //Store last-used alias
                    if (!string.Equals(DataStore.LastAlias, alias))
                    {
                        DataStore.LastAlias = alias;
                        DataStore.Instance.Save();
                    }

                    if (rank <= 5)
                    {
                        alias += "(" + rank + ")";
                    }


                    AllegianceLoader.StartAllegiance(ticket, lobbyType, alias, delegate(object param)
                    {
                        var result = (bool)param;

                        if (!result)
                        {
                            Logout();

                            MainForm.SetStatusBar("Failed to launch Allegiance.");
                        }
                        else
                        {
                            //AllegianceLoader.AllegianceProcess.OnExiting
                            //  += new EventHandler(AllegianceProcess_OnExiting);

                            AllegianceLoader.AllegianceExit
                                += new EventHandler(AllegianceProcess_OnExiting);
                        }
                    });

                    SetLoggedIn(true);

                    if (DataStore.Preferences.AutoLogin)
                    {
                        MainForm.HideForm();
                    }
                }
                else
                {
                    MainForm.SetStatusBar(message);

                    if (status == CheckInStatus.VirtualMachineBlocked)
                    {
                        VirtualMachineInfo virtualMachineInfo = new VirtualMachineInfo();
                        virtualMachineInfo.ShowDialog();
                    }

                    this.Enabled = true;

                    SystemWatcher.Close();
                }
            });

            SessionNegotiator.Login(_loginComboBox.Text, lobbyType.ToString(), delegate(object input)
            {
                if (this.InvokeRequired)
                {
                    this.Invoke(signal, input);
                }
                else
                {
                    signal(input);
                }
            });
        }