This commit is contained in:
aozhiwei 2021-12-27 14:44:32 +08:00
parent 374a63d8e0
commit 8e98dcffb3

View File

@ -31,12 +31,23 @@ impl<T> MetaMgr<T> {
}
pub fn get_metalist(&mut self, idx: i32) -> Option<&Vec::<Rc::<T>>> {
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<T>> {
return self.internal_get_byid(idx as usize, id);
}
pub fn get_byname(&mut self, idx: i32, name: String) -> Option<&Rc<T>> {
return self.internal_get_byname(idx as usize, name);
}
pub fn internal_get_byid(&mut self, idx: usize, id: i64) -> Option<&Rc<T>> {
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<T> MetaMgr<T> {
return None;
}
pub fn internal_get_byname(&mut self, idx: usize, name: String) -> Option<&Rc<T>> {
if idx <= self.meta_classes.len() {
match self.meta_classes[idx].wrap_name_hash.get(&name) {
Some(v) => {
return Some(v);
}
None => {
}
}
}
return None;
}
}