waylite

2 commits
Updated 2026-04-23 15:23:13
src
src/request.rs
pub mod display {
    use crate::{
        msg::{MsgError, write_msg},
        scalar::write_u32,
    };

    pub fn sync(buf: &mut &mut [u8], callback: u32) -> core::result::Result<(), MsgError> {
        write_msg(buf, 1, 0, |buf| write_u32(buf, callback))
    }

    pub fn get_registry(buf: &mut &mut [u8], registry: u32) -> core::result::Result<(), MsgError> {
        write_msg(buf, 1, 1, |buf| write_u32(buf, registry))
    }
}

pub mod registry {
    use crate::{
        msg::{MsgError, write_msg},
        scalar::{write_string, write_u32},
    };

    pub fn bind(
        buf: &mut &mut [u8],
        registry: u32,
        global: u32,

        local: (&str, u32, u32),
    ) -> core::result::Result<(), MsgError> {
        write_msg(buf, registry, 0, |buf| {
            write_u32(buf, global)?;

            write_string(buf, local.0)?;
            write_u32(buf, local.1)?;
            write_u32(buf, local.2)
        })
    }
}