Lines Matching defs:Plugin
1 //===-- PluginManager.cpp - Plugin loading and communication API ---------===//
50 for (auto &Plugin : Plugins) {
51 if (!Plugin->is_initialized())
54 if (auto Err = Plugin->deinit()) {
58 Plugin.release();
64 bool PluginManager::initializePlugin(GenericPluginTy &Plugin) {
65 if (Plugin.is_initialized())
68 if (auto Err = Plugin.init()) {
74 DP("Registered plugin %s with %d visible device(s)\n", Plugin.getName(),
75 Plugin.number_of_devices());
79 bool PluginManager::initializeDevice(GenericPluginTy &Plugin,
81 if (Plugin.is_device_initialized(DeviceId)) {
83 (*ExclusiveDevicesAccessor)[PM->DeviceIds[std::make_pair(&Plugin,
96 Plugin.set_device_identifier(UserId, DeviceId);
99 auto Device = std::make_unique<DeviceTy>(&Plugin, UserId, DeviceId);
110 PM->DeviceIds[std::make_pair(&Plugin, DeviceId)] = UserId;
116 for (auto &Plugin : plugins()) {
117 if (!initializePlugin(Plugin))
120 for (int32_t DeviceId = 0; DeviceId < Plugin.number_of_devices();
122 initializeDevice(Plugin, DeviceId);