/// <summary> /// Constructor with initialization. Shallow copy. /// </summary> /// <param name="arrayOfValues">values to copy.</param> public MessageCollection(Message[] arrayOfValues) { if (arrayOfValues == null) { throw new ArgumentNullException(); } foreach (Message value in arrayOfValues) { this.Add(value); } }
/// <summary> /// Publish the Message Available Event. /// </summary> /// <param name="localActorName">Local Actor Name.</param> /// <param name="remoteActorName">Remote Actor Name.</param> /// <param name="message">Message.</param> /// <param name="direction">Message direction.></param> public void PublishMessageAvailableEvent(ActorName localActorName, ActorName remoteActorName, Message message, MessageDirectionEnum direction) { BaseMessage baseMessage = new BaseMessage(message, direction); MessageAvailableEventArgs messageAvailableEvent = new MessageAvailableEventArgs(localActorName, remoteActorName, baseMessage); if (OnMessageAvailable != null) { OnMessageAvailable(this, messageAvailableEvent); } }
/// <summary> /// Class constructor. /// </summary> /// <param name="message">Base message.</param> /// <param name="direction">Message direction.</param> public BaseMessage(Message message, MessageDirectionEnum direction) { _message = message; _direction = direction; }
// // - Methods - // /// <summary> /// Adds a message that has been received or send by this Thread. /// </summary> /// <param name="message"></param> internal void AddMessage(Message message) { lock (this.threadManager.MessageLock) { this.messages.Add(message); this.threadManager.AddMessage(message); } }
/// <summary> /// Removes this message from the list of received and send messages. /// </summary> /// <param name="message"></param> public void RemoveMessage(Message message) { lock (this.threadManager.MessageLock) { this.messages.Remove(message); this.threadManager.RemoveMessage(message); } }
/// <summary> /// Removes the first occurrence of a specific item from the IList. /// </summary> /// <param name="value">The item to remove from the <see cref="System.Collections.IList"/>.</param> public void Remove(Message value) { base.Remove(value); }
/// <summary> /// Inserts an item to the IList at the specified position. /// </summary> /// <param name="index">The zero-based index at which <c>value</c> should be inserted. </param> /// <param name="value">The item to insert into the <see cref="System.Collections.IList"/>.</param> public void Insert(int index, Message value) { base.Insert(index, value); }
/// <summary> /// Determines the index of a specific item in the <see cref="System.Collections.IList"/>. /// </summary> /// <param name="value">The item to locate in the <see cref="System.Collections.IList"/>.</param> /// <returns>The index of <c>value</c> if found in the list; otherwise, -1.</returns> public int IndexOf(Message value) { return base.IndexOf(value); }
/// <summary> /// Determines whether the <see cref="System.Collections.IList"/> contains a specific item. /// </summary> /// <param name="value">The item to locate in the <see cref="System.Collections.IList"/>.</param> /// <returns><see langword="true"/> if the item is found in the <see cref="System.Collections.IList"/>; otherwise, <see langword="false"/>.</returns> public bool Contains(Message value) { return base.Contains(value); }
// // - Methods - // /// <summary> /// Adds an item to the <see cref="System.Collections.IList"/>. /// </summary> /// <param name="value">The item to add to the <see cref="System.Collections.IList"/>. </param> /// <returns>The position into which the new element was inserted.</returns> public int Add(Message value) { return base.Add(value); }