Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
 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);
     }
 }
Example #5
0
 internal Monitor()
 {
     Monitoring = new ControlStructures.MonitoringSnapshot();
 }