#[unsafe(no_mangle)]pub unsafe extern "C" fn lumen_signal_get_str(
name: *const c_char,
buf: *mut c_char,
buf_len: usize,
out_len: *mut usize,
) -> LumenStatusExpand description
Read a scalar signal as a UTF-8 string into a caller-provided buffer.
On success copies the value plus a trailing NUL into buf and, when
out_len is non-null, sets *out_len to the byte length (excluding
the NUL). When buf is null or buf_len is too small, sets
*out_len to the required capacity (byte length + 1) and returns
LumenStatus::ErrBufferTooSmall without writing buf; call once
with a null/zero buffer to size it, then again to fill.
Returns LumenStatus::ErrBadArg when name is null / non-UTF-8, or
when the signal holds no string.
Scope: this reads back the string the embedder last pushed through
the FFI (a clear leaves an empty string). A string written inside
the running app lands in PropertyStore, which the cross-thread
mirror keeps for numbers, bools, and colors only, so it is not
visible here.