コード例 #1
0
        private void ProcessMessage(string msg)
        {
            if (msg.StartsWith("Password:"))
            {
                SendCommandLocked(password);
            }
            else
            {
                switch (currentResponse)
                {
                case AwaitingResponse.GetLength:
                    int get_length;
                    getLength = int.TryParse(msg, out get_length) ? get_length : -1;
                    break;

                case AwaitingResponse.GetPosition:
                    int get_position;
                    getPosition = int.TryParse(msg, out get_position) ? get_position : -1;
                    break;

                case AwaitingResponse.IsPlaying:
                    int is_plaing;
                    isPlaying = int.TryParse(msg, out is_plaing) && is_plaing != 0;
                    break;
                }
                currentResponse = AwaitingResponse.None;
            }
            responseEvent.Set();
        }
コード例 #2
0
        // Lock and textsend methods

        private void SendResponseLocked(AwaitingResponse resp, string msg)
        {
            if (!connected)
            {
                return;
            }
            lock (attributeLock)
            {
                currentResponse = resp;
                SendTextRaw(msg);
                responseEvent.WaitOne();
            }
        }
コード例 #3
0
 // Lock and textsend methods
 private void SendResponseLocked(AwaitingResponse resp, string msg)
 {
     if (!connected) return;
     lock (attributeLock)
     {
         currentResponse = resp;
         SendTextRaw(msg);
         responseEvent.WaitOne();
     }
 }
コード例 #4
0
 private void ProcessMessage(string msg)
 {
     if (msg.StartsWith("Password:"))
     {
         SendCommandLocked(password);
     }
     else
     {
         switch (currentResponse)
         {
         case AwaitingResponse.GetLength:
             int get_length;
             getLength = int.TryParse(msg, out get_length) ? get_length : -1;
             break;
         case AwaitingResponse.GetPosition:
             int get_position;
             getPosition = int.TryParse(msg, out get_position) ? get_position : -1;
             break;
         case AwaitingResponse.IsPlaying:
             int is_plaing;
             isPlaying = int.TryParse(msg, out is_plaing) && is_plaing != 0;
             break;
         }
         currentResponse = AwaitingResponse.None;
     }
     responseEvent.Set();
 }