예제 #1
0
UUID AtomSpace_addLink( AtomSpace* this_ptr
                      , const char* type
                      , const UUID* outgoing
                      , int size )
{
    Type t = classserver().getType(std::string(type));
    if(t == NOTYPE)
        throw InvalidParamException(TRACE_INFO,
            "Invalid AtomType parameter '%s'.",type);
    HandleSeq oset;
    for(int i=0;i<size;i++)
        oset.push_back(Handle(outgoing[i]));
    return this_ptr->add_link(t,oset).value();
}
int AtomSpace_getLink( AtomSpace* this_ptr
                     , const char* type
                     , const UUID* outgoing
                     , int size
                     , UUID* uuid_out )
{
    Type t = classserver().getType(std::string(type));
    if(t == NOTYPE)
        throw InvalidParamException(TRACE_INFO,
            "Invalid AtomType parameter '%s'.",type);
    HandleSeq oset;
    for(int i=0;i<size;i++)
        oset.push_back(Handle(outgoing[i]));
    Handle h = this_ptr->get_link(t,oset);
    *uuid_out = h.value();
    return h == Handle::UNDEFINED;
}