コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="text"></param>
        public ImapIdleCommandMessageReceivedEventArgs(String text)
        {
            Match m = null;
            ImapIdleCommandMessageType tp = ImapIdleCommandMessageType.Exists;

            this.Done = false;
            this.Text = text;

            StringReader sr = new StringReader(text);

            while (sr.Peek() > -1)
            {
                var line = sr.ReadLine();
                if (line.StartsWith("+ idling", StringComparison.OrdinalIgnoreCase) == true)
                {
                    _MessageList.Add(new ImapIdleCommandMessage(ImapIdleCommandMessageType.Idling, -1));
                }
                else
                {
                    m = RegexList.Message.Match(line);
                    if (String.IsNullOrEmpty(m.Value) == true)
                    {
                        continue;
                    }
                    switch (m.Groups["Type"].Value)
                    {
                    case "EXISTS": tp = ImapIdleCommandMessageType.Exists; break;

                    case "EXPUNGE": tp = ImapIdleCommandMessageType.Expunge; break;

                    default: continue;
                    }
                    _MessageList.Add(new ImapIdleCommandMessage(tp, Int32.Parse(m.Groups["Number"].Value)));
                }
            }
        }
コード例 #2
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="messageType"></param>
 /// <param name="number"></param>
 public ImapIdleCommandMessage(ImapIdleCommandMessageType messageType, Int32 number)
 {
     this.MessageType = messageType;
     this.Number = number;
 }
コード例 #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="messageType"></param>
 /// <param name="number"></param>
 public ImapIdleCommandMessage(ImapIdleCommandMessageType messageType, Int32 number)
 {
     this.MessageType = messageType;
     this.Number      = number;
 }