zellij_utils/plugin_api/
message.rs

1pub use super::generated_api::api::message::Message as ProtobufMessage;
2use crate::data::PluginMessage;
3
4use std::convert::TryFrom;
5
6impl TryFrom<ProtobufMessage> for PluginMessage {
7    type Error = &'static str;
8    fn try_from(protobuf_message: ProtobufMessage) -> Result<Self, &'static str> {
9        let name = protobuf_message.name;
10        let payload = protobuf_message.payload;
11        let worker_name = protobuf_message.worker_name;
12        Ok(PluginMessage {
13            name,
14            payload,
15            worker_name,
16        })
17    }
18}
19
20impl TryFrom<PluginMessage> for ProtobufMessage {
21    type Error = &'static str;
22    fn try_from(plugin_message: PluginMessage) -> Result<Self, &'static str> {
23        Ok(ProtobufMessage {
24            name: plugin_message.name,
25            payload: plugin_message.payload,
26            worker_name: plugin_message.worker_name,
27        })
28    }
29}