6 #include "CatalogBinding.h"
7 #include "MessageQueue.h"
8 #include "DispatchQueue.h"
9 #include "MainToWebIOMessageCatalog.h"
10 #include "WebIOToMainMessageCatalog.h"
22 template <
typename TBusCatalogs = TDefaultBusCatalogs>
26 typedef typename TBusCatalogs::TDispatchToWebIOMessageCatalog TDispatchToWebIOMessageCatalog;
27 typedef typename TBusCatalogs::TDispatchToMainMessageCatalog TDispatchToMainMessageCatalog;
34 template <
typename TMessage>
35 void Publish(
const TMessage& message)
37 m_dispatchToWebIOQueue.TryEnqueue(message);
38 m_dispatchToMainQueue.TryEnqueue(message);
41 template <
typename TMessage>
44 m_dispatchToWebIOQueue.Subscribe(handler);
47 template <
typename TMessage>
50 m_dispatchToWebIOQueue.Unsubscribe(handler);
53 template <
typename TMessage>
56 m_dispatchToMainQueue.Subscribe(handler);
59 template <
typename TMessage>
62 m_dispatchToMainQueue.Unsubscribe(handler);
67 m_dispatchToWebIOQueue.Flush();
72 m_dispatchToMainQueue.Flush();