Chimney.Shared.UserControls.ChimneyServerUserControl.Start C# (CSharp) Method

Start() public method

public Start ( string port, string allow = "localhost", string password = "", bool update = true ) : System.Threading.Tasks.Task
port string
allow string
password string
update bool
return System.Threading.Tasks.Task
        public async Task Start(string port, string allow = "localhost", string password = "", bool update = true)
        {
            bool suc = false;
            if (!started) suc = await chimneyMpdServer.Start(port, allow, password);

            if (suc && !started)
            {
                chimneyMpdServer.OnDefault += chimneyMpdServer_OnDefault;

                //
                // Db Working
                //
                chimneyMpdServer.OnStatus += chimneyMpdServer_OnStatus;

                //
                // Db Working
                //
                chimneyMpdServer.OnCurrentSong += chimneyMpdServer_OnCurrentSong;

                //
                // Db Working
                //
                chimneyMpdServer.OnStats += chimneyMpdServer_OnStats;

                chimneyMpdServer.OnCommandListBegin += chimneyMpdServer_OnCommandListBegin;
                chimneyMpdServer.OnCommandListBeginOk += chimneyMpdServer_OnCommandListBeginOk;
                chimneyMpdServer.OnCommandListEnd += chimneyMpdServer_OnCommandListEnd;

                chimneyMpdServer.OnSetVol += chimneyMpdServer_OnSetVol;

                //
                // Db Working, complete, event: outputs
                //
                chimneyMpdServer.OnOutputs += chimneyMpdServer_OnOutputs;
                chimneyMpdServer.OnToggleOutput += chimneyMpdServer_OnToggleOutput;
                chimneyMpdServer.OnEnableOutput += chimneyMpdServer_OnEnableOutput;
                chimneyMpdServer.OnDisableOutput += chimneyMpdServer_OnDisableOutput;
                
                chimneyMpdServer.OnPlay += chimneyMpdServer_OnPlay;
                chimneyMpdServer.OnStop += chimneyMpdServer_OnStop;
                chimneyMpdServer.OnPause += chimneyMpdServer_OnPause;
                chimneyMpdServer.OnNext += chimneyMpdServer_OnNext;
                chimneyMpdServer.OnPrevious += chimneyMpdServer_OnPrevious;

                //
                // Db Working, event: playlist 
                //
                chimneyMpdServer.OnClear += chimneyMpdServer_OnClear;

                //
                // Db Working, it looks like that but I'm not that sure
                //
                chimneyMpdServer.OnList += chimneyMpdServer_OnList;

                //
                // Db Working
                //
                chimneyMpdServer.OnListAll += chimneyMpdServer_OnListAll;
                
                //
                // Db Working
                //
                chimneyMpdServer.OnListAllInfo += chimneyMpdServer_OnListAllInfo;

                //
                // Db Working
                //
                chimneyMpdServer.OnLsInfo += chimneyMpdServer_OnLsInfo;

                //
                // Db Working for files and folders, event: playlist 
                //
                chimneyMpdServer.OnAdd += chimneyMpdServer_OnAdd;
                
                //
                // Db Working, event: options
                //
                chimneyMpdServer.OnConsume += chimneyMpdServer_OnConsume;
                chimneyMpdServer.OnRepeat += chimneyMpdServer_OnRepeat;
                chimneyMpdServer.OnRandom += chimneyMpdServer_OnRandom;
                chimneyMpdServer.OnSingle += chimneyMpdServer_OnSingle;

                //
                // Db Working, event: playlist 
                //
                chimneyMpdServer.OnShuffle += chimneyMpdServer_OnShuffle;

                //
                // Db Working, event: playlist 
                //
                chimneyMpdServer.OnAddId += chimneyMpdServer_OnAddId;

                //
                // Db Working, event: playlist 
                //
                chimneyMpdServer.OnMoveId += chimneyMpdServer_OnMoveId;

                //
                // Db Working, event: playlist 
                //
                chimneyMpdServer.OnDelete += chimneyMpdServer_OnDelete;

                //
                // Db Working, event: playlist 
                //
                chimneyMpdServer.OnDeleteId += chimneyMpdServer_OnDeleteId;

                //
                // Db Working
                //
                chimneyMpdServer.OnPlaylistInfo += chimneyMpdServer_OnPlaylistInfo;

                //
                // Db Working
                //
                chimneyMpdServer.OnPlChanges += chimneyMpdServer_OnPlChanges;

                chimneyMpdServer.OnPlayId += chimneyMpdServer_OnPlayId;

                //
                // Db Working, on the most importan tags
                //
                chimneyMpdServer.OnFind += chimneyMpdServer_OnFind;

                //
                // Db Working, on the most importan tags
                //
                chimneyMpdServer.OnSearch += chimneyMpdServer_OnSearch;

                //
                // Stored Playlists, complete
                //
                // Db Working, event: stored_playlist
                //
                chimneyMpdServer.OnSave += chimneyMpdServer_OnSave;
                chimneyMpdServer.OnRm += chimneyMpdServer_OnRm;
                chimneyMpdServer.OnRename += chimneyMpdServer_OnRename;
                chimneyMpdServer.OnPlaylistMove += chimneyMpdServer_OnPlaylistMove;
                chimneyMpdServer.OnPlaylistDelete += chimneyMpdServer_OnPlaylistDelete;
                chimneyMpdServer.OnPlaylistClear += chimneyMpdServer_OnPlaylistClear;
                chimneyMpdServer.OnPlaylistAdd += chimneyMpdServer_OnPlaylistAdd;

                // Event: playlist
                chimneyMpdServer.OnLoad += chimneyMpdServer_OnLoad;
                chimneyMpdServer.OnListPlaylists += chimneyMpdServer_OnListPlaylists;
                chimneyMpdServer.OnListPlaylistInfo += chimneyMpdServer_OnListPlaylistInfo;
                chimneyMpdServer.OnListPlaylist += chimneyMpdServer_OnListPlaylist;

                chimneyMpdServer.OnUpdate += chimneyMpdServer_OnUpdate;

                chimneyMpdServer.OnIdle += chimneyMpdServer_OnIdle;
                chimneyMpdServer.OnNoIdle += chimneyMpdServer_OnNoIdle;

                chimneyMpdServer.OnSeekCur += chimneyMpdServer_OnSeekCur;

#if WINDOWS_PHONE_APP
                BackgroundMediaPlayer.Current.MediaEnded += BackgroundMediaPlayer_MediaEnded;
                //BackgroundMediaPlayer.Current.MediaOpened += BackgroundMediaPlayer_MediaOpened;
                //BackgroundMediaPlayer.Current.CurrentStateChanged += BackgroundMediaPlayer_CurrentStateChanged;
                //BackgroundMediaPlayer.Current.VolumeChanged += BackgroundMediaPlayer_VolumeChanged;
#else
                ChimneyMPDMediaElement.MediaEnded += ChimneyMPDMediaElement_MediaEnded;
                //ChimneyMPDMediaElement.VolumeChanged += ChimneyMPDMediaElement_VolumeChanged;
#endif

            }

            if (suc && !started)
            {
                await InitDatabase(db_name);
                if (update)
                {
                    is_db_updating = true;
                    await UpdateDatabase();
                }

                var options = await Dbconnection.QueryAsync<Option>("SELECT * FROM Options");

                foreach (Option option in options)
                {
                    switch (option.Name)
                    {
                        case ("random"):
                            option_random = option.ValueBool;
                            break;
                        case ("single"):
                            option_single = option.ValueBool;
                            break;
                        case ("repeat"):
                            option_repeat = option.ValueBool;
                            break;
                        case ("consume"):
                            option_consume = option.ValueBool;
                            break;
                        //case ("state"):
                        //    current_state = option.ValueString;
                        //    break;
                        default:
                            break;
                    }
                }

                started = true;

                this.ServerStatedTime = DateTime.Now;
            }
        }
ChimneyServerUserControl