End SyncLock
End Sub
- Public Sub RemovePostReserve(ByVal id As Long)
+ Public Sub RemovePostReserve(ByVal id As Long, ByRef post As PostClass)
SyncLock LockObj
+ post = Nothing
+ If _statuses.ContainsKey(id) Then
+ post = _statuses(id).Copy
+ Else
+ 'DM
+ Dim tb As TabClass = Me.GetTabByType(TabUsageType.DirectMessage)
+ If tb.Contains(id) Then
+ post = tb.Posts(id).Copy
+ End If
+ End If
Me._deletedIds.Add(id)
End SyncLock
End Sub
MessageBox.Show(buf.ToString, "アイコンキャッシュ使用状況")
End Sub
- Private Sub tw_PostDeleted(ByVal id As Long)
- _statuses.RemovePostReserve(id)
+ Private Sub tw_PostDeleted(ByVal id As Long, ByRef post As PostClass)
+ _statuses.RemovePostReserve(id, post)
End Sub
Private Sub tw_NewPostFromStream()
Public Event UserStreamStarted()
Public Event UserStreamStopped()
Public Event UserStreamGetFriendsList()
- Public Event PostDeleted(ByVal id As Long)
+ Public Event PostDeleted(ByVal id As Long, ByRef post As PostClass)
Public Event UserStreamEventReceived(ByVal eventType As String)
Private WithEvents userStream As TwitterUserstream
Exit Sub
ElseIf xElm.Element("delete") IsNot Nothing Then
Debug.Print("delete")
+ Dim post As PostClass = Nothing
If xElm.Element("delete").Element("direct_message") IsNot Nothing Then
- RaiseEvent PostDeleted(CLng(xElm.Element("delete").Element("direct_message").Element("id").Value))
+ RaiseEvent PostDeleted(CLng(xElm.Element("delete").Element("direct_message").Element("id").Value), post)
Else
- RaiseEvent PostDeleted(CLng(xElm.Element("delete").Element("status").Element("id").Value))
+ RaiseEvent PostDeleted(CLng(xElm.Element("delete").Element("status").Element("id").Value), post)
End If
+ CreateDeleteEvent(DateTime.Now, post)
Exit Sub
ElseIf xElm.Element("limit") IsNot Nothing Then
Debug.Print(line)
RaiseEvent NewPostFromStream()
End Sub
+ Private Sub CreateDeleteEvent(ByVal createdat As DateTime, ByVal post As PostClass)
+ Dim evt As New FormattedEvent
+ evt.CreatedAt = createdat
+ If post Is Nothing Then
+ evt.Event = "DELETE(UNKNOWN)"
+ evt.Username = "--UNKNOWN--"
+ evt.Target = "--UNKNOWN--"
+ Else
+ If post.IsDm Then
+ evt.Event = "DELETE(DM)"
+ Else
+ evt.Event = "DELETE(Post)"
+ End If
+ evt.Username = post.Name
+ evt.Target = post.Data
+ End If
+ Me.StoredEvent.Insert(0, evt)
+ RaiseEvent UserStreamEventReceived(evt.Event)
+ End Sub
+
Private Sub CreateEventFromJson(ByVal content As String)
Dim eventData As TwitterDataModel.EventData = Nothing
Try