hyprshell_core_lib/
send.rs

1use crate::get_daemon_socket_path_buff;
2use crate::transfer::TransferType;
3use anyhow::Context;
4use std::io::Write;
5use std::os::unix::net::UnixStream;
6
7pub fn send_to_socket(transfer_type: &TransferType) -> anyhow::Result<()> {
8    let path = get_daemon_socket_path_buff();
9    let mut socket = UnixStream::connect(&path)
10        .with_context(|| format!("Can't connect to daemon socket {path:?}"))?;
11    serde_json::to_writer(&mut socket, &transfer_type)
12        .context("Can't serialize/send transfer type")?;
13    Ok(())
14}
15
16pub fn send_raw_to_socket(data: &str) -> anyhow::Result<()> {
17    let path = get_daemon_socket_path_buff();
18    let mut socket = UnixStream::connect(&path)
19        .with_context(|| format!("Can't connect to daemon socket {path:?}"))?;
20    socket
21        .write_all(data.as_bytes())
22        .context("Can't send data to socket")?;
23    Ok(())
24}