21#ifndef PLUGINS_USBDMX_SYNCPLUGINIMPL_H_
22#define PLUGINS_USBDMX_SYNCPLUGINIMPL_H_
31#include "libs/usb/LibUsbAdaptor.h"
33#include "olad/Preferences.h"
34#include "plugins/usbdmx/PluginImplInterface.h"
35#include "plugins/usbdmx/Widget.h"
36#include "plugins/usbdmx/WidgetFactory.h"
66 unsigned int debug_level,
91 typedef std::vector<class WidgetFactory*> WidgetFactories;
92 typedef std::map<class WidgetInterface*, Device*> WidgetToDeviceMap;
96 const unsigned int m_debug_level;
99 WidgetFactories m_widget_factories;
101 libusb_context *m_context;
103 WidgetToDeviceMap m_devices;
104 std::set<std::pair<uint8_t, uint8_t> > m_registered_devices;
106 unsigned int ScanForDevices();
107 void ReScanForDevices();
108 bool CheckDevice(libusb_device *device);
#define OLA_UNUSED
Mark unused arguments & types.
Definition Macro.h:63
Definition PluginAdaptor.h:41
Definition Preferences.h:148
The base class for Anyma Widgets.
Definition AnymauDMX.h:41
The interface for the Nodle Widgets.
Definition DMXCProjectsNodleU1.h:43
The EurolitePro Widget.
Definition EurolitePro.h:42
The interface for an implementation of the USB DMX plugin.
Definition PluginImplInterface.h:40
The interface for the Fadecandy Widgets.
Definition ScanlimeFadecandy.h:49
The interface for the Sunlite Widgets.
Definition Sunlite.h:40
The legacy implementation.
Definition SyncPluginImpl.h:53
bool Stop()
Stop the implementation.
Definition SyncPluginImpl.cpp:107
SyncPluginImpl(PluginAdaptor *plugin_adaptor, Plugin *plugin, unsigned int debug_level, Preferences *preferences)
Create a new SyncPluginImpl.
Definition SyncPluginImpl.cpp:60
bool Start()
Start the implementation.
Definition SyncPluginImpl.cpp:82
bool NewWidget(class AnymauDMX *widget)
Called when a new AnymauDMX is added.
Definition SyncPluginImpl.cpp:123
The interface for the Velleman Widgets.
Definition VellemanK8062.h:41
A LibUsbAdaptor for use with Syncronous widgets.
Definition LibUsbAdaptor.h:540
The namespace containing all OLA symbols.
Definition Credentials.cpp:44