internal void SendMessage(LogEntry message) { ILogServiceCallback[] tosend = new ILogServiceCallback[0]; lock (locker) { tosend = callbacks.ToArray(); } foreach (ILogServiceCallback callback in tosend) { try { callback.AddMessage(message); } catch { callbacks.Remove(callback); } } }
void SubscribeImpl(ILogServiceCallback myc) { try { lock (locker) { if (callbacks.Contains(myc)) return; if (myc != null) { callbacks.Add(myc); } } } catch { return; } }
public static void Subscribe(ILogServiceCallback myc) { MyLogManager.Instance.SubscribeImpl(myc); }