private void Add(IStatusMessage statusMessage) { if (!messageCollection.ContainsKey(statusMessage.Id)) { MessageCollection.Add(statusMessage.Id, statusMessage); } OnMessagePropertyChange(); }
public static void AddToLog(IStatusMessage msg) { lock (Log) { Log.Add(msg.ToString()); if (Log.Count > MAX_LOG_SIZE) { Log.RemoveAt(0); } } }
public void DestroyMessage(IStatusMessage statusMessage) { lock (this) { if (messageCollection.ContainsKey(statusMessage.Id)) { MessageCollection.Remove(statusMessage.Id); } OnMessagePropertyChange(); } }
void StatusMessage(IStatusMessage message) { if (MainWindow != null) { Gtk.Application.Invoke(delegate { MainWindow.MainWindowController.StatusMessage = message; }); } else { //TODO Console.WriteLine("App listener: " + message); } }
private void HandleUpdate(IStatusMessage message) { switch (message) { case BatteryMessage bm: battery.Update(bm); break; case PortStatusMessage psm: HandleGeneralStatusUpdate(psm); break; case GestureMessage gm: orientation.Update(gm); break; } }
public static string[] DetermineTopicFromTwitterMessage(IDictionary<string,string> tweetUpdate, IStatusMessage statusMessage, SearchDefinition[] searchDefinitions) { List<string> topics = new List<string>(); foreach (SearchDefinition definition in searchDefinitions) { if (definition.ShouldIgnoreTweet(tweetUpdate)) { continue; } if (definition.IsTrackingFor(statusMessage) && topics.Contains(definition.PublishTo) == false) { topics.Add(definition.PublishTo); } if (definition.IsFollowingUser(statusMessage.User) && topics.Contains(definition.PublishTo) == false) { topics.Add(definition.PublishTo); } } return topics.ToArray(); }
/// <summary> /// Sends each message individually in an event. /// </summary> /// <param name="messages"></param> private void SendMessageEvents(IStatusMessage[] messages) { foreach (IStatusMessage message in messages) { OnStatusMessageReceived(new StatusMessageReceivedEventArgs( message )); } }
/// <summary> /// Initializes a new instance of the <see cref="StatusMessageReceivedEventArgs"/> class. /// </summary> /// <param name="message">The message.</param> public StatusMessageReceivedEventArgs(IStatusMessage message) { this.Message = message; }
public void AutomateMessageDestroy(IStatusMessage statusMessage, long miilisecond) { statusMessage.AutomateMessageDestroy(miilisecond); }
public void DestroyMessage(IStatusMessage statusMessage, DestroyTime UsePredefinedTime) { statusMessage.AutomateMessageDestroy(UsePredefinedTime); }
internal bool IsTrackingFor(IStatusMessage statusMessage) { if (this.TrackFor != null) { foreach (string searchParam in this.TrackFor.Split(',')) { if (statusMessage.Text.ToUpper().Contains(searchParam.ToUpper()) == true) { return true; } } } return false; }
/// <summary> /// Dispatchable method that handles <see cref="IStatusMessage"/> changes. /// </summary> /// <param name="status">The status message recieved from the remote peer.</param> /// <param name="parameters">The message parameters the message was sent with.</param> public void OnNetworkMessageReceive(IStatusMessage status, IMessageParameters parameters) { Throw<ArgumentNullException>.If.IsNull(status)?.Now(nameof(status)); StatusPublisher?.Invoke(status, parameters); }
/// <summary> /// Internally managed status receival method. /// Setup to be called internally using the <see cref="INetworkMessageSubscriptionService"/>. /// </summary> /// <param name="message">The new <see cref="IStatusMessage"/> message.</param> /// <param name="parameters"><see cref="IMessageParameters"/> the <see cref="IStatusMessage"/> was sent with.</param> private void OnReceiveStatus(IStatusMessage message, IMessageParameters parameters) { Throw<ArgumentNullException>.If.IsNull(message)?.Now(nameof(message)); //I know I cast here so let's only call this once for efficiency NetStatus s = message.Status; //Set the new status to the incoming status Status = s; if (s != Status) OnStatusChanged(s); }
public void OnNetworkMessageReceive(IStatusMessage status, IMessageParameters parameters) { throw new NotImplementedException("Web peers cannot handle status updates."); }