Object const * Manager::findObjectNc(const char * name) const { nm_node_t node = nm_mgr_find_node_nc(*this, name); if (node == NULL || nm_node_type(node) != &g_object_type) { return NULL; } return Object::_cast(node); }
bool Manager::removeObject(const char * name) { nm_node_t node = nm_mgr_find_node_nc(*this, name); if (node) { nm_node_free(node); return true; } else { return false; } }
weibo_manage_t weibo_manage_find_nc( gd_app_context_t app, const char * name) { nm_node_t node; if (name == NULL) return weibo_manage_default(app); node = nm_mgr_find_node_nc(gd_app_nm_mgr(app), name); if (node == NULL || nm_node_type(node) != &s_nm_node_type_weibo_manage) return NULL; return (weibo_manage_t)nm_node_data(node); }
void * Object::operator new (size_t size, nm_mgr_t nmm, const char * name) { nm_node_t node = nm_instance_create(nmm, name, size); if (node == NULL) { if (nm_mgr_find_node_nc(nmm, name)) { ::std::ostringstream os; os << "named object " << name << " already exist!"; throw ::std::runtime_error(os.str()); } else { throw ::std::bad_alloc(); } } return nm_node_data(node); }