3using System.Threading.Tasks;
15 private bool prevHasSniffers =
false;
31 this.CheckEventHandlers();
40 this.CheckEventHandlers();
48 bool Result = base.Remove(Sniffer);
49 this.CheckEventHandlers();
53 private void CheckEventHandlers()
57 if (this.prevHasSniffers != b)
61 Ledger.CollectionCleared += this.Ledger_CollectionCleared;
62 Ledger.EntryAdded += this.Ledger_EntryAdded;
63 Ledger.EntryUpdated += this.Ledger_EntryUpdated;
64 Ledger.EntryDeleted += this.Ledger_EntryDeleted;
68 Ledger.CollectionCleared -= this.Ledger_CollectionCleared;
69 Ledger.EntryAdded -= this.Ledger_EntryAdded;
70 Ledger.EntryUpdated -= this.Ledger_EntryUpdated;
71 Ledger.EntryDeleted -= this.Ledger_EntryDeleted;
74 this.prevHasSniffers = b;
93 private async
void Ledger_EntryUpdated(
object Sender,
ObjectEventArgs e)
108 private async
void Ledger_EntryDeleted(
object Sender,
ObjectEventArgs e)
114 this.
Error(await SniffableDatabase.GetJSON(e.
Object));
118 this.
Error(
"Entry of type " + e.
Object.GetType().FullName +
" deleted.");
128 return Task.CompletedTask;
Class that can be used to sniff on ledger activity.
override void AddRange(IEnumerable< ISniffer > Sniffers)
ICommunicationLayer.AddRange
SniffableLedger()
Class that can be used to sniff on ledger activity.
override void Add(ISniffer Sniffer)
ICommunicationLayer.Add
override bool Remove(ISniffer Sniffer)
ICommunicationLayer.Remove
Simple base class for classes implementing communication protocols.
void TransmitText(string Text)
Called when text has been transmitted.
void ReceiveText(string Text)
Called when text has been received.
ISniffer[] Sniffers
Registered sniffers.
bool HasSniffers
If there are sniffers registered on the object.
void Error(string Error)
Called to inform the viewer of an error state.
void Information(string Comment)
Called to inform the viewer of something.
Event arguments for collection events.
string Collection
Collection
Event arguments for database object events.
Interface for sniffers. Sniffers can be added to ICommunicationLayer classes to eavesdrop on communic...