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 DispatchWidgetRemoved(widget);
75 DispatchWidgetRemoved(widget);
79 DispatchWidgetRemoved(widget);
83 DispatchWidgetRemoved(widget);
87 DispatchWidgetRemoved(widget);
96 const ola::thread::ThreadId m_main_thread_id;
98 template<
typename W
idgetClass>
99 bool DispatchNewWidget(WidgetClass *widget);
101 template<
typename W
idgetClass>
102 void DispatchWidgetRemoved(WidgetClass *widget);
104 template<
typename W
idgetClass>
105 void HandleNewWidget(WidgetClass *widget, AddFuture *f);
107 template<
typename W
idgetClass>
108 void HandleWidgetRemoved(WidgetClass *widget, RemoveFuture *f);
115 #endif // PLUGINS_USBDMX_SYNCRONIZEDWIDGETOBSERVER_H_