38 const std::string& plugin_name);
103 std::vector<DAQ::Device*>
getDevices(
const std::string& driver);
127 using driver_registry_entry = std::pair<std::string, DAQ::Driver*>;
128 QString settings_prefix;
129 void registerDriver(
const std::string& driver_location);
130 void unregisterDriver(
const std::string& driver_location);
133 std::unique_ptr<Widgets::Plugin> widget);
136 void registerFactories(
const std::string& widget_name,
138 void unregisterFactories(
const std::string& widget_name);
141 std::unordered_map<std::string, std::vector<std::unique_ptr<Widgets::Plugin>>>
142 rtxi_widgets_registry;
143 std::vector<driver_registry_entry> m_driver_registry;
144 std::unordered_map<std::string, Widgets::FactoryMethods>
145 rtxi_factories_registry;
147 std::unique_ptr<DLL::Loader> m_plugin_loader;
148 std::unique_ptr<DLL::Loader> m_driver_loader;
150 std::mutex m_widgets_mut;
151 std::mutex m_drivers_mut;
Manager & operator=(const Manager &)=delete
void saveSettings(const QString &profile_name)
void loadSettings(const QString &profile_name)
Manager & operator=(Manager &&)=delete
void receiveEvent(Event::Object *event) override
bool isRegistered(const Widgets::Plugin *plugin)
Manager(Manager &&)=delete
Widgets::Plugin * loadPlugin(const std::string &library)
std::vector< DAQ::Device * > getAllDevices()
Manager(const Manager &)=delete
std::vector< DAQ::Device * > getDevices(const std::string &driver)
void unloadPlugin(Widgets::Plugin *plugin)
std::optional< Widgets::FactoryMethods > get_core_plugin_factory(const std::string &plugin_name)