예제 #1
0
파일: Nodes.cpp 프로젝트: ale-git/yarp
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);
    }
}
예제 #2
0
파일: Nodes.cpp 프로젝트: JoErNanO/yarp
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();
}
예제 #3
0
파일: Nodes.cpp 프로젝트: ale-git/yarp
void yarp::os::Nodes::Private::remove(Contactable& contactable)
{
    if (!active) {
        return;
    }
    Node* node = getNode(contactable.getName(), false);
    if (node) {
        node->remove(contactable);
    }
}
예제 #4
0
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));
}
예제 #5
0
파일: Nodes.cpp 프로젝트: JoErNanO/yarp
void NodesHelper::remove(Contactable& contactable) {
    if (!active) return;
    Node *node = getNode(contactable.getName(),false);
    if (node) node->remove(contactable);
}
예제 #6
0
파일: Nodes.cpp 프로젝트: JoErNanO/yarp
void NodesHelper::update(Contactable& contactable) {
    if (!active) return;
    Node *node = getNode(contactable.getName(),true);
    if (node) node->update(contactable);
}