Refactor ApplyFilters to improve parameter clarity.

This commit is contained in:
Thorsten Sommer 2025-04-17 11:56:35 +02:00
parent a6719639b8
commit 610ae1c232
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108
2 changed files with 15 additions and 4 deletions

View File

@ -109,7 +109,12 @@ public abstract class MSGComponentBase : ComponentBase, IDisposable, IMessageBus
return await this.MessageBus.SendMessageUseFirstResult<TPayload, TResult>(this, triggeredEvent, data); return await this.MessageBus.SendMessageUseFirstResult<TPayload, TResult>(this, triggeredEvent, data);
} }
protected void ApplyFilters(ComponentBase[] components, Event[] events) /// <summary>
/// Define for which components and events you want to receive messages.
/// </summary>
/// <param name="filterComponents">A list of components for which you want to receive messages. Use an empty list to receive messages from all components.</param>
/// <param name="events">A list of events for which you want to receive messages.</param>
protected void ApplyFilters(ComponentBase[] filterComponents, Event[] events)
{ {
// Append the color theme changed event to the list of events: // Append the color theme changed event to the list of events:
var eventsList = new List<Event>(events) var eventsList = new List<Event>(events)
@ -118,6 +123,6 @@ public abstract class MSGComponentBase : ComponentBase, IDisposable, IMessageBus
Event.PLUGINS_RELOADED, Event.PLUGINS_RELOADED,
}; };
this.MessageBus.ApplyFilters(this, components, eventsList.ToArray()); this.MessageBus.ApplyFilters(this, filterComponents, eventsList.ToArray());
} }
} }

View File

@ -19,9 +19,15 @@ public sealed class MessageBus
{ {
} }
public void ApplyFilters(IMessageBusReceiver receiver, ComponentBase[] components, Event[] events) /// <summary>
/// Define for which components and events you want to receive messages.
/// </summary>
/// <param name="receiver">That's you, the receiver.</param>
/// <param name="filterComponents">A list of components for which you want to receive messages. Use an empty list to receive messages from all components.</param>
/// <param name="events">A list of events for which you want to receive messages.</param>
public void ApplyFilters(IMessageBusReceiver receiver, ComponentBase[] filterComponents, Event[] events)
{ {
this.componentFilters[receiver] = components; this.componentFilters[receiver] = filterComponents;
this.componentEvents[receiver] = events; this.componentEvents[receiver] = events;
} }