use super::*;
#[no_mangle]
pub extern "C" fn dqcs_cmd_new(iface: *const c_char, oper: *const c_char) -> dqcs_handle_t {
api_return(0, || {
Ok(insert(APIObject::ArbCmd(ArbCmd::try_from(
receive_str(iface)?,
receive_str(oper)?,
ArbData::default(),
)?)))
})
}
#[no_mangle]
pub extern "C" fn dqcs_cmd_iface_get(cmd: dqcs_handle_t) -> *mut c_char {
api_return_string(|| {
resolve!(cmd as &ArbCmd);
Ok(cmd.interface_identifier().to_string())
})
}
#[no_mangle]
pub extern "C" fn dqcs_cmd_iface_cmp(
cmd: dqcs_handle_t,
iface: *const c_char,
) -> dqcs_bool_return_t {
api_return_bool(|| {
resolve!(cmd as &ArbCmd);
Ok(cmd.interface_identifier() == receive_str(iface)?)
})
}
#[no_mangle]
pub extern "C" fn dqcs_cmd_oper_get(cmd: dqcs_handle_t) -> *mut c_char {
api_return_string(|| {
resolve!(cmd as &ArbCmd);
Ok(cmd.operation_identifier().to_string())
})
}
#[no_mangle]
pub extern "C" fn dqcs_cmd_oper_cmp(cmd: dqcs_handle_t, oper: *const c_char) -> dqcs_bool_return_t {
api_return_bool(|| {
resolve!(cmd as &ArbCmd);
Ok(cmd.operation_identifier() == receive_str(oper)?)
})
}