add constructors for VmcExtSetCalibExec and bounds checking
This commit is contained in:
parent
7f4e0faf09
commit
e772c9e817
20
src/lib.rs
20
src/lib.rs
|
@ -1896,7 +1896,7 @@ impl VmcExtSetRes {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
struct VmcExtSetCalibExec {
|
pub struct VmcExtSetCalibExec {
|
||||||
mode: i32
|
mode: i32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1913,6 +1913,9 @@ impl VmcMessage for VmcExtSetCalibExec {
|
||||||
OscType::Int(i) => mode = i,
|
OscType::Int(i) => mode = i,
|
||||||
_ => return Err(FromMessageErr::ArgType(ArgTypeErr { expected: vec![OscType::Int(0)], actual: msg.args[0].to_owned(), addr: msg.addr, arg_count: 0}))
|
_ => return Err(FromMessageErr::ArgType(ArgTypeErr { expected: vec![OscType::Int(0)], actual: msg.args[0].to_owned(), addr: msg.addr, arg_count: 0}))
|
||||||
}
|
}
|
||||||
|
if mode < 0 || mode > 2 {
|
||||||
|
return Err(FromMessageErr::IntRange(FromIntRangeErr { expected_lower: 0, expected_upper: 2, actual: mode, addr: msg.addr, arg_count: 0}));
|
||||||
|
}
|
||||||
return Ok(Box::new(Self{mode}));
|
return Ok(Box::new(Self{mode}));
|
||||||
}
|
}
|
||||||
fn get_addr(&self) -> String {
|
fn get_addr(&self) -> String {
|
||||||
|
@ -1920,6 +1923,21 @@ impl VmcMessage for VmcExtSetCalibExec {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl VmcExtSetCalibExec {
|
||||||
|
pub fn new(mode: i32) ->MsgNewResult<Self> {
|
||||||
|
if mode < 0 || mode > 2 {
|
||||||
|
return Err(MessageCreationErr::IntRange(CreateIntRangeErr { expected_lower: 0, expected_upper: 2, actual: mode, calling_func: String::from("VmcExtSetCalibExec::new"), arg_name: String::from("mode")}));
|
||||||
|
}
|
||||||
|
Ok(Self { mode })
|
||||||
|
}
|
||||||
|
pub fn new_vmc_message(mode: i32) -> TraitMsgNewResult {
|
||||||
|
match Self::new(mode) {
|
||||||
|
Ok(val) => Ok(Box::new(val)),
|
||||||
|
Err(val) => Err(val)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
struct VmcExtSetConfig {
|
struct VmcExtSetConfig {
|
||||||
path: String
|
path: String
|
||||||
|
|
Loading…
Reference in New Issue
Block a user