events.rs 664 B

1234567891011121314151617181920212223242526272829
  1. //! Convert a serialized event to an event trigger
  2. use serde::{Deserialize, Serialize};
  3. #[derive(Deserialize, Serialize)]
  4. pub(crate) struct IpcMessage {
  5. method: String,
  6. params: serde_json::Value,
  7. }
  8. impl IpcMessage {
  9. pub(crate) fn method(&self) -> &str {
  10. self.method.as_str()
  11. }
  12. pub(crate) fn params(self) -> serde_json::Value {
  13. self.params
  14. }
  15. }
  16. pub(crate) fn parse_ipc_message(payload: &str) -> Option<IpcMessage> {
  17. match serde_json::from_str(payload) {
  18. Ok(message) => Some(message),
  19. Err(e) => {
  20. log::error!("could not parse IPC message, error: {}", e);
  21. None
  22. }
  23. }
  24. }