loadPlugin method
Implementation
Future<String> loadPlugin(
PluginRequest request, {
String initiator = 'master',
}) async {
var plugin = _registry.findPlugin(request);
if (plugin == null) {
throw PluginNotFoundError(request);
}
var proxy = _PluginInstanceProxy.create(plugin);
var lsid = proxy.intercom.listener.addPassthroughListener(
(data) => _onPluginDataWrapper(proxy.instance.uid, data),
);
try {
await proxy.initialize();
} catch (e) {
proxy.intercom.listener.removeListener(lsid);
rethrow;
}
_registerInstance(proxy, initiator);
proxy.intercom.sendSignal(Message(MessageType.START_SIGNAL));
return proxy.instance.uid;
}