-/**
- * Fred-based [PluginConnector] implementation.
- */
-class FredPluginConnector @Inject constructor(
- private val eventBus: EventBus,
- private val pluginRespiratorFacade: PluginRespiratorFacade
-) : PluginConnector, FredPluginTalker {
-
- override fun sendRequest(pluginName: String, identifier: String, fields: SimpleFieldSet, data: Bucket?) =
- getPluginTalker(pluginName, identifier).send(fields, data)
-
- private fun getPluginTalker(pluginName: String, identifier: String) =
- try {
- pluginRespiratorFacade.getPluginTalker(this, pluginName, identifier)
- } catch (pnfe1: PluginNotFoundException) {
- throw PluginException(pnfe1)
- }
-
- override fun onReply(pluginName: String, identifier: String, params: SimpleFieldSet, data: Bucket) =
- eventBus.post(ReceivedReplyEvent(this, pluginName, identifier, params, data))
-
-}