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);
}
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:
var eventsList = new List<Event>(events)
@ -118,6 +123,6 @@ public abstract class MSGComponentBase : ComponentBase, IDisposable, IMessageBus
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;
}