Example #1
0
static void
checkDataAvailability(
    v_entity e,
    c_voidp arg)
{
    c_bool *dataAvailable = (c_bool *)arg;

    *dataAvailable = ((v_statusGetMask(e->status) & V_EVENT_DATA_AVAILABLE) != 0);
}
Example #2
0
static c_bool
readerHasDataAvailable (
    v_entity e,
    c_voidp arg
    )
{
    c_bool result = TRUE;

    if ( (v_statusGetMask(e->status) & V_EVENT_DATA_AVAILABLE) != 0 ) {
        result = FALSE;
    }
    return result;
}
Example #3
0
static void
getStatusMask(
    v_entity e,
    c_voidp arg)
{
    c_long *mask = (c_long *)arg;

    if ( v_objectKind(e) == K_SUBSCRIBER ) {
        if ( !c_setWalk(v_subscriber(e)->readers, (c_action)readerHasDataAvailable, NULL) ) {
            *mask = V_EVENT_DATA_AVAILABLE;
        } else {
            *mask = 0;
        }
    } else {
        *mask = v_statusGetMask(e->status);
    }
}