void yarp::os::Nodes::Private::update(Contactable& contactable) { NestedContact nc(contactable.getName()); if (!nc.isNested()) { return; } if (!active) { return; } Node* node = getNode(contactable.getName(), true); if (node) { node->update(contactable); } }
void Nodes::update(Contactable& contactable) { NestedContact nc(contactable.getName()); if (!nc.isNested()) return; HELPER(this).mutex.unlock(); HELPER(this).update(contactable); HELPER(this).mutex.lock(); }
void yarp::os::Nodes::Private::remove(Contactable& contactable) { if (!active) { return; } Node* node = getNode(contactable.getName(), false); if (node) { node->remove(contactable); } }
void NodeHelper::add(Contactable& contactable) { NodeItem item; item.nc.fromString(contactable.getName()); if (name=="") name = item.nc.getNodeName(); if (name!=item.nc.getNodeName()) { fprintf(stderr,"Node name mismatch, expected [%s] but got [%s]\n", name.c_str(), item.nc.getNodeName().c_str()); return; } prepare(name); item.contactable = &contactable; name_cache[&contactable] = item; by_part_name[item.nc.getNestedName()] = item; by_category.insert(std::pair<ConstString,NodeItem>(item.nc.getCategory(),item)); }
void NodesHelper::remove(Contactable& contactable) { if (!active) return; Node *node = getNode(contactable.getName(),false); if (node) node->remove(contactable); }
void NodesHelper::update(Contactable& contactable) { if (!active) return; Node *node = getNode(contactable.getName(),true); if (node) node->update(contactable); }