private void UpdateMonitoringArgs(ControlStructures.MonitoringSnapshot added, ControlStructures.MonitoringSnapshot removed) { // Event handler to populate Monitoring across all controllers. --Kris MonitoringUpdateEventArgs args = new MonitoringUpdateEventArgs { Added = added, Removed = removed }; OnMonitoringUpdated(args); }
internal void RemoveMonitoringKey(string key, string subKey, ref ControlStructures.MonitoringSnapshot monitoring) { ControlStructures.MonitoringSnapshot removed = new ControlStructures.MonitoringSnapshot(); if (monitoring.Get(key).Contains(subKey)) { monitoring.Get(key).Remove(subKey); removed.Get(key).Add(subKey); } else { throw new RedditMonitoringException("That object is not being monitored."); } UpdateMonitoringArgs(null, removed); }
internal void AddMonitoringKey(string key, string subKey, ref ControlStructures.MonitoringSnapshot monitoring) { ControlStructures.MonitoringSnapshot added = new ControlStructures.MonitoringSnapshot(); if (monitoring.Get(key).Contains(subKey)) { throw new RedditMonitoringException("That object is already being monitored."); } else { monitoring.Get(key).Add(subKey); added.Get(key).Add(subKey); } UpdateMonitoringArgs(added, null); }
public void Remove(MonitoringSnapshot monitoringSnapshot) { if (monitoringSnapshot != null) { Remove(monitoringSnapshot.BestPosts, ref BestPosts); Remove(monitoringSnapshot.HotPosts, ref HotPosts); Remove(monitoringSnapshot.NewPosts, ref NewPosts); Remove(monitoringSnapshot.RisingPosts, ref RisingPosts); Remove(monitoringSnapshot.TopPosts, ref TopPosts); Remove(monitoringSnapshot.ControversialPosts, ref ControversialPosts); Remove(monitoringSnapshot.ModQueuePosts, ref ModQueuePosts); Remove(monitoringSnapshot.ModQueueReportsPosts, ref ModQueueReportsPosts); Remove(monitoringSnapshot.ModQueueSpamPosts, ref ModQueueSpamPosts); Remove(monitoringSnapshot.ModQueueUnmoderatedPosts, ref ModQueueUnmoderatedPosts); Remove(monitoringSnapshot.ModQueueEditedPosts, ref ModQueueEditedPosts); Remove(monitoringSnapshot.PrivateMessagesInbox, ref PrivateMessagesInbox); Remove(monitoringSnapshot.PrivateMessagesUnread, ref PrivateMessagesUnread); Remove(monitoringSnapshot.PrivateMessagesSent, ref PrivateMessagesSent); Remove(monitoringSnapshot.ConfidenceComments, ref ConfidenceComments); Remove(monitoringSnapshot.TopComments, ref TopComments); Remove(monitoringSnapshot.NewComments, ref NewComments); Remove(monitoringSnapshot.ControversialComments, ref ControversialComments); Remove(monitoringSnapshot.OldComments, ref OldComments); Remove(monitoringSnapshot.RandomComments, ref RandomComments); Remove(monitoringSnapshot.QAComments, ref QAComments); Remove(monitoringSnapshot.LiveComments, ref LiveComments); Remove(monitoringSnapshot.WikiPages, ref WikiPages); Remove(monitoringSnapshot.WikiPage, ref WikiPage); Remove(monitoringSnapshot.ModmailMessagesRecent, ref ModmailMessagesRecent); Remove(monitoringSnapshot.ModmailMessagesMod, ref ModmailMessagesMod); Remove(monitoringSnapshot.ModmailMessagesUser, ref ModmailMessagesUser); Remove(monitoringSnapshot.ModmailMessagesUnread, ref ModmailMessagesUnread); Remove(monitoringSnapshot.LiveThread, ref LiveThread); Remove(monitoringSnapshot.LiveThreadContributors, ref LiveThreadContributors); Remove(monitoringSnapshot.LiveThreadUpdates, ref LiveThreadUpdates); Remove(monitoringSnapshot.PostData, ref PostData); Remove(monitoringSnapshot.PostScore, ref PostScore); Remove(monitoringSnapshot.PostHistory, ref PostHistory); Remove(monitoringSnapshot.CommentScore, ref CommentScore); Remove(monitoringSnapshot.CommentHistory, ref CommentHistory); } }
internal Monitor() { Monitoring = new ControlStructures.MonitoringSnapshot(); }