You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
2.2 KiB
C#
106 lines
2.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace uPLibrary.Networking.M2Mqtt
|
|
{
|
|
public class MqttClientCollection : IList<MqttClient>, IEnumerable
|
|
{
|
|
// clients list
|
|
private List<MqttClient> clients;
|
|
|
|
public MqttClientCollection()
|
|
{
|
|
this.clients = new List<MqttClient>();
|
|
}
|
|
|
|
#region IEnumerable ...
|
|
|
|
public IEnumerator GetEnumerator()
|
|
{
|
|
return this.clients.GetEnumerator();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region IList<MqttClient> ...
|
|
|
|
public int IndexOf(MqttClient item)
|
|
{
|
|
return this.clients.IndexOf(item);
|
|
}
|
|
|
|
public void Insert(int index, MqttClient item)
|
|
{
|
|
lock (this.clients)
|
|
{
|
|
this.clients.Insert(index, item);
|
|
}
|
|
}
|
|
|
|
public void RemoveAt(int index)
|
|
{
|
|
lock (this.clients)
|
|
{
|
|
this.clients.RemoveAt(index);
|
|
}
|
|
}
|
|
|
|
public MqttClient this[int index]
|
|
{
|
|
get { return this.clients[index]; }
|
|
set { this.clients[index] = value; }
|
|
}
|
|
|
|
public void Add(MqttClient item)
|
|
{
|
|
lock (this.clients)
|
|
{
|
|
this.clients.Add(item);
|
|
}
|
|
}
|
|
|
|
public void Clear()
|
|
{
|
|
this.clients.Clear();
|
|
}
|
|
|
|
public bool Contains(MqttClient item)
|
|
{
|
|
return this.clients.Contains(item);
|
|
}
|
|
|
|
public void CopyTo(MqttClient[] array, int arrayIndex)
|
|
{
|
|
this.clients.CopyTo(array, arrayIndex);
|
|
}
|
|
|
|
public int Count
|
|
{
|
|
get { return this.clients.Count; }
|
|
}
|
|
|
|
public bool IsReadOnly
|
|
{
|
|
get { return false; }
|
|
}
|
|
|
|
public bool Remove(MqttClient item)
|
|
{
|
|
lock (this.clients)
|
|
{
|
|
return this.clients.Remove(item);
|
|
}
|
|
}
|
|
|
|
IEnumerator<MqttClient> IEnumerable<MqttClient>.GetEnumerator()
|
|
{
|
|
return this.clients.GetEnumerator();
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|