Chimney.MPD.ChimneyMPDBase.Idle C# (CSharp) 메소드

Idle() 공개 메소드

public Idle ( string subsystems = "" ) : Task>
subsystems string
리턴 Task>
        public async Task<List<string>> Idle(string subsystems = "")
        {
            this.idle = true;

            //var qId =  
            //    ? await Send(MPDKeyWords.Client.Status.IDLE)
            //    : await Send(MPDKeyWords.Client.Status.IDLE);

            var success = (string.IsNullOrEmpty(subsystems)) 
                ? await Connection.Send(_connection.Socket,
                    MPDKeyWords.Send.Encode(MPDKeyWords.Client.Status.IDLE))
                : await Connection.Send(_connection.Socket,
                    MPDKeyWords.Send.Encode(MPDKeyWords.Client.Status.IDLE, subsystems.Split(new char[] { ' ' }).ToList()));

            if (!success) return new List<string>();

            var response = await Connection.Recive(_connection.Socket,
                new List<string>() { MPDKeyWords.Response.SUCCESS_CONNECT },
                new List<string>() { MPDKeyWords.Response.OK_LINEBREAK },
                new List<string>() { MPDKeyWords.Response.ACK },
                new List<string>() { MPDKeyWords.Response.LINEBREAK });

            var responselist = (await MPDKeyWords.Response.Encode(response)).FirstOrDefault(); 

            return (from kv in responselist select kv.Value).ToList();
        }