public static EventbusManagerInternal GetEventbus() { if (eventbus == null) { eventbus = new EventbusManagerInternal(); } return(eventbus); }
/// <summary> /// Open new instance of a view. The view must setup the viewModel to the DataContext. /// </summary> /// <typeparam name="TView"></typeparam> public static void OpenView <TView>(int channel) => EventbusManagerInternal.GetEventbus().OpenView <TView>(channel);
public static bool Send <TView, TMessageType>(TMessageType message, int channel, bool openView = false) where TMessageType : IMessageContainer => EventbusManagerInternal.GetEventbus().Send <TView, TMessageType>(message, channel, openView);
internal static bool IsViewOpen(Type type, int channel) => EventbusManagerInternal.GetEventbus().IsViewOpen(type, channel);
/// <summary> /// Deregister closing content. Every view need an dispose interface to cleanup events and unused references. /// </summary> /// <typeparam name="TView"></typeparam> public static void Deregister <TView>() => EventbusManagerInternal.GetEventbus().Deregister <TView>();
/// <summary> /// create new internal instance host for message event. /// </summary> /// <typeparam name="TView"></typeparam> /// <typeparam name="TMessage"></typeparam> /// <param name="receiverMethod"></param> public static void Register <TView, TMessage>(Func <IMessageContainer, bool> receiverMethod) where TView : DependencyObject where TMessage : IMessageContainer => EventbusManagerInternal.GetEventbus().Register <TView, TMessage>(receiverMethod);
internal static ViewOpen GetViewOpened(int channel) => EventbusManagerInternal.GetEventbus().GeViewOpenend(channel);
public static int RegisteredCountByView <TView>() where TView : DependencyObject => EventbusManagerInternal.GetEventbus().RegisteredCountByView <TView>();