diff --git a/server/notifyserver/tools/pbtools/app.js b/server/notifyserver/tools/pbtools/app.js index 2ab2444..029741b 100644 --- a/server/notifyserver/tools/pbtools/app.js +++ b/server/notifyserver/tools/pbtools/app.js @@ -74,6 +74,7 @@ use crate::cs::cs_msgid as cs_msgid; struct Handler { msg_id: i32, handler_id: i32, + cb: Box::, } static mut HANDLERS: Vec> = Vec::new(); @@ -125,31 +126,29 @@ pub trait MsgHandler {`; data += ` pub fn registe_handlers() { unsafe { - HANDLERS.reserve(2000); - for i in 0..1999 { - HANDLERS.push(None); - } + HANDLERS.reserve(2000); + for i in 0..1999 { + HANDLERS.push(None); + } `; this.csProtoPb.nested.cs.nestedArray.forEach( (item) => { if (item.name[0] == 'C' && item.name[1] == 'M') { data += ` - HANDLERS[cs_msgid::CMMessageId_e::_${item.name} as usize] = Some( -Handler { - msg_id: cs_msgid::CMMessageId_e::_${item.name} as i32, - handler_id: 0, -/* - Cb: func (hdr *f5.MsgHdr, handler MsgHandler) { - handler.${item.name}(hdr, hdr.Msg.(*${item.name})) - }, -*/ -}); + HANDLERS[cs_msgid::CMMessageId_e::_${item.name} as usize] = Some( + Handler { + msg_id: cs_msgid::CMMessageId_e::_${item.name} as i32, + handler_id: 0, + cb: Box::new(|_: &f9::MsgHdr, _: &dyn MsgHandler| { + }), + }); `; } }); data += ` -}}`; + } +}`; fs.writeFileSync('./src/cs/cs_auto_gen.rs', data); }