From 8e98dcffb38d8e513f652e714940f2cdd59d7af0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 27 Dec 2021 14:44:32 +0800 Subject: [PATCH] 1 --- src/metamgr.rs | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/metamgr.rs b/src/metamgr.rs index 1215c09..11dbfe2 100644 --- a/src/metamgr.rs +++ b/src/metamgr.rs @@ -31,12 +31,23 @@ impl MetaMgr { } + pub fn get_metalist(&mut self, idx: i32) -> Option<&Vec::>> { + if idx >= 0 && idx as usize <= self.meta_classes.len() { + return Some(&self.meta_classes[idx as usize].wrap_list); + } + return None; + } + pub fn get_byid(&mut self, idx: i32, id: i64) -> Option<&Rc> { return self.internal_get_byid(idx as usize, id); } + pub fn get_byname(&mut self, idx: i32, name: String) -> Option<&Rc> { + return self.internal_get_byname(idx as usize, name); + } + pub fn internal_get_byid(&mut self, idx: usize, id: i64) -> Option<&Rc> { - if idx >= 0 && idx <= self.meta_classes.len() { + if idx <= self.meta_classes.len() { match self.meta_classes[idx].wrap_id_hash.get(&id) { Some(v) => { return Some(v); @@ -49,4 +60,18 @@ impl MetaMgr { return None; } + pub fn internal_get_byname(&mut self, idx: usize, name: String) -> Option<&Rc> { + if idx <= self.meta_classes.len() { + match self.meta_classes[idx].wrap_name_hash.get(&name) { + Some(v) => { + return Some(v); + } + None => { + + } + } + } + return None; + } + }