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); }
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; }
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); } }