Example #1
0
c_bool
d_readerRequestAddChain(
    d_readerRequest request,
    d_chain chain)
{
    c_bool result;
    d_chain found;

    assert(d_objectIsValid(d_object(request), D_READER_REQUEST) == TRUE);
    assert(d_objectIsValid(d_object(chain), D_CHAIN) == TRUE);

    if(request && chain){
        d_lockLock(d_lock(request));
        found = d_tableInsert(request->requests, chain);
        d_lockUnlock(d_lock(request));

        if(found){
            result = FALSE;
        } else {
            d_objectKeep(d_object(chain));
            result = TRUE;
        }
    } else {
        result = FALSE;
    }
    return result;
}
Example #2
0
c_bool
d_readerRequestAddGroup(
    d_readerRequest request,
    d_group group)
{
    c_bool result;
    d_group found;

    assert(d_objectIsValid(d_object(request), D_READER_REQUEST) == TRUE);

    if(request){
        d_lockLock(d_lock(request));
        found = d_tableInsert(request->groups, group);
        d_lockUnlock(d_lock(request));

        if(!found){
            d_objectKeep(d_object(group));
            result = TRUE;
        } else {
            result = FALSE;
        }
    } else {
        result = FALSE;
    }
    return result;
}
static void
collectNsWalk(
    d_nameSpace ns, void* userData)
{
    c_iter nameSpaces = (c_iter)userData;
    if (ns)
    {
        d_objectKeep(d_object(ns));
        c_iterInsert (nameSpaces, ns);
    }
}
Example #4
0
static c_bool
addGroup(
    d_group group,
    c_voidp args)
{
    d_table table;

    table = d_table(args);
    d_tableInsert(table, d_objectKeep(d_object(group)));
    return TRUE;
}