21 #ifndef PLUGINS_USBDMX_SYNCRONIZEDWIDGETOBSERVER_H_
22 #define PLUGINS_USBDMX_SYNCRONIZEDWIDGETOBSERVER_H_
24 #include "plugins/usbdmx/WidgetFactory.h"
26 #include "ola/io/SelectServerInterface.h"
27 #include "ola/thread/Future.h"
28 #include "ola/thread/Thread.h"
51 return DispatchNewWidget(widget);
55 return DispatchNewWidget(widget);
59 return DispatchNewWidget(widget);
63 return DispatchNewWidget(widget);
67 return DispatchNewWidget(widget);
71 return DispatchNewWidget(widget);
75 DispatchWidgetRemoved(widget);
79 DispatchWidgetRemoved(widget);
83 DispatchWidgetRemoved(widget);
87 DispatchWidgetRemoved(widget);
91 DispatchWidgetRemoved(widget);
95 DispatchWidgetRemoved(widget);
104 const ola::thread::ThreadId m_main_thread_id;
106 template<
typename W
idgetClass>
107 bool DispatchNewWidget(WidgetClass *widget);
109 template<
typename W
idgetClass>
110 void DispatchWidgetRemoved(WidgetClass *widget);
112 template<
typename W
idgetClass>
113 void HandleNewWidget(WidgetClass *widget, AddFuture *f);
115 template<
typename W
idgetClass>
116 void HandleWidgetRemoved(WidgetClass *widget, RemoveFuture *f);
123 #endif // PLUGINS_USBDMX_SYNCRONIZEDWIDGETOBSERVER_H_