|
@@ -24,149 +24,3 @@ macro_rules! define_err_enum {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-#[macro_export]
|
|
|
-macro_rules! proc_def_ar {
|
|
|
- ( $proc_name:ident ($args_type:ty as $argname:ident ; $ret_type:ty as $retname:ident) $code:block ) => {
|
|
|
- pub struct $proc_name {
|
|
|
- proc_name: String,
|
|
|
- args: ZRFUProcArgs<$args_type>,
|
|
|
- ret: ZRFUProcReturn<$ret_type>,
|
|
|
- }
|
|
|
-
|
|
|
- impl ZRFUProcInstanceTrait for $proc_name {
|
|
|
- fn decode_input(&mut self, bv: &mut ZRFUBytesVec) -> ZRFUProcResultCode {
|
|
|
- self.args.cbor_deserialize(bv)
|
|
|
- }
|
|
|
-
|
|
|
- fn call(&mut self) -> ZRFUProcResultCode {
|
|
|
- let $argname = match self.args.get_data() {
|
|
|
- None => { return ZRFUProcResultCode::CanNotGetArgs; },
|
|
|
- Some(t) => t,
|
|
|
- };
|
|
|
- $code;
|
|
|
- self.ret.set_data($retname);
|
|
|
- return ZRFUProcResultCode::Ok;
|
|
|
- }
|
|
|
-
|
|
|
- fn encode_return(&mut self, bv: &mut ZRFUBytesVec) -> ZRFUProcResultCode {
|
|
|
- self.ret.cbor_serialize(bv)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- impl $proc_name {
|
|
|
- fn factory(name: String) -> Box<dyn ZRFUProcInstanceTrait> {
|
|
|
- Box::new($proc_name{
|
|
|
- proc_name: name,
|
|
|
- args: ZRFUProcArgs::new(),
|
|
|
- ret: ZRFUProcReturn::new(),
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
-}
|
|
|
-
|
|
|
-#[macro_export]
|
|
|
-macro_rules! proc_def_a {
|
|
|
- ( $proc_name:ident ($args_type:ty as $argname:ident) $code:block ) => {
|
|
|
- pub struct $proc_name {
|
|
|
- proc_name: String,
|
|
|
- args: ZRFUProcArgs<$args_type>,
|
|
|
- }
|
|
|
-
|
|
|
- impl ZRFUProcInstanceTrait for $proc_name {
|
|
|
- fn decode_input(&mut self, bv: &mut ZRFUBytesVec) -> ZRFUProcResultCode {
|
|
|
- self.args.cbor_deserialize(bv)
|
|
|
- }
|
|
|
-
|
|
|
- fn call(&mut self) -> ZRFUProcResultCode {
|
|
|
- let $argname = match self.args.get_data() {
|
|
|
- None => { return ZRFUProcResultCode::CanNotGetArgs; },
|
|
|
- Some(t) => t,
|
|
|
- };
|
|
|
- $code;
|
|
|
- return ZRFUProcResultCode::Ok;
|
|
|
- }
|
|
|
-
|
|
|
- fn encode_return(&mut self, bv: &mut ZRFUBytesVec) -> ZRFUProcResultCode {
|
|
|
- ZRFUProcResultCode::NoReturnProvided
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- impl $proc_name {
|
|
|
- fn factory(name: String) -> Box<dyn ZRFUProcInstanceTrait> {
|
|
|
- Box::new($proc_name{
|
|
|
- proc_name: name,
|
|
|
- args: ZRFUProcArgs::new(),
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
-}
|
|
|
-
|
|
|
-#[macro_export]
|
|
|
-macro_rules! proc_def_r {
|
|
|
- ( $proc_name:ident ($ret_type:ty as $retname:ident) $code:block ) => {
|
|
|
- pub struct $proc_name {
|
|
|
- proc_name: String,
|
|
|
- ret: ZRFUProcReturn<$ret_type>,
|
|
|
- }
|
|
|
-
|
|
|
- impl ZRFUProcInstanceTrait for $proc_name {
|
|
|
- fn decode_input(&mut self, bv: &mut ZRFUBytesVec) -> ZRFUProcResultCode {
|
|
|
- ZRFUProcResultCode::NoArgsNeed
|
|
|
- }
|
|
|
-
|
|
|
- fn call(&mut self) -> ZRFUProcResultCode {
|
|
|
- $code;
|
|
|
- self.ret.set_data($retname);
|
|
|
- return ZRFUProcResultCode::Ok;
|
|
|
- }
|
|
|
-
|
|
|
- fn encode_return(&mut self, bv: &mut ZRFUBytesVec) -> ZRFUProcResultCode {
|
|
|
- self.ret.cbor_serialize(bv)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- impl $proc_name {
|
|
|
- fn factory(name: String) -> Box<dyn ZRFUProcInstanceTrait> {
|
|
|
- Box::new($proc_name{
|
|
|
- proc_name: name,
|
|
|
- ret: ZRFUProcReturn::new(),
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
-}
|
|
|
-
|
|
|
-#[macro_export]
|
|
|
-macro_rules! proc_def_n {
|
|
|
- ( $proc_name:ident () $code:block ) => {
|
|
|
- pub struct $proc_name {
|
|
|
- proc_name: String,
|
|
|
- }
|
|
|
-
|
|
|
- impl ZRFUProcInstanceTrait for $proc_name {
|
|
|
- fn decode_input(&mut self, bv: &mut ZRFUBytesVec) -> ZRFUProcResultCode {
|
|
|
- ZRFUProcResultCode::NoArgsNeed
|
|
|
- }
|
|
|
-
|
|
|
- fn call(&mut self) -> ZRFUProcResultCode {
|
|
|
- $code;
|
|
|
- return ZRFUProcResultCode::Ok;
|
|
|
- }
|
|
|
-
|
|
|
- fn encode_return(&mut self, bv: &mut ZRFUBytesVec) -> ZRFUProcResultCode {
|
|
|
- ZRFUProcResultCode::NoReturnProvided
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- impl $proc_name {
|
|
|
- fn factory(name: String) -> Box<dyn ZRFUProcInstanceTrait> {
|
|
|
- Box::new($proc_name{
|
|
|
- proc_name: name,
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
-}
|