Beispiel #1
0
 private void OnDirectMessageAdded(DirectMessage message, int messageNo, int allMessageCount)
 {
     if (DirectMessageAdded != null)
     {
         DirectMessageAdded(this, new DirectMessageAddedEventArgs(message, messageNo, allMessageCount));
     }
 }
Beispiel #2
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="message">追加したダイレクトメッセージ</param>
 /// <param name="messageNo">追加されたダイレクトメッセージの番号を取得する</param>
 /// <param name="allMessageCount">追加されるはずのダイレクトメッセージの数</param>
 public DirectMessageAddedEventArgs(DirectMessage message, int messageNo, int allMessageCount)
 {
     this.message         = message;
     this.messageNo       = messageNo;
     this.allMessageCount = allMessageCount;
 }
Beispiel #3
0
        /// <summary>
        /// ダイレクトメッセージXMLをステータス情報にパージングする
        /// </summary>
        /// <param name="stream">ダイレクトメッセージXMLを格納したStream</param>
        /// <returns>ダイレクトメッセージ</returns>
        private DirectMessage[] PaeseDirectMessage(Stream stream)
        {
            List <DirectMessage> messageList = new List <DirectMessage>();

            try
            {
                XmlDocument xdoc = new XmlDocument();
                xdoc.Load(stream);
                XmlNodeList directMessageNodes = xdoc.GetElementsByTagName("direct_message");
                int         messageCount       = 0;
                foreach (XmlNode directMessageNode in directMessageNodes)
                {
                    // メッセージ
                    DirectMessage message = new DirectMessage();

                    foreach (XmlNode inDirectMessageNode in directMessageNode.ChildNodes)
                    {
                        switch (inDirectMessageNode.Name)
                        {
                        case "created_at":
                            message.SetCreatedAt(inDirectMessageNode.InnerText);
                            break;

                        case "id":
                            message.Id = inDirectMessageNode.InnerText;
                            break;

                        case "text":
                            message.Text = inDirectMessageNode.InnerText;
                            break;

                        case "sender_id":
                            message.SenderId = inDirectMessageNode.InnerText;
                            break;

                        case "recipient_id":
                            message.RecipientId = inDirectMessageNode.InnerText;
                            break;

                        case "sender_screen_name":
                            message.SenderScreenName = inDirectMessageNode.InnerText;
                            break;

                        case "recipient_screen_name":
                            message.RecipientrScreenName = inDirectMessageNode.InnerText;
                            break;
                        }
                    } // foreach (XmlNode inStatusNode in statusNode.ChildNodes)

                    messageList.Add(message);
                    OnDirectMessageAdded(message, ++messageCount, directMessageNodes.Count);
                }
            }
            catch (WebException) { throw; }
            catch (OutOfMemoryException) { throw; }
            catch (IOException) { throw; }
            catch (UriFormatException) { throw; }
            catch (SocketException) { throw; }
            catch (XmlException) { throw; }

            return(messageList.ToArray());
        }