\fBName\fP

AuScanEvents - return the first event that satisfies the predicate

\fBSynopsis\fP

#include <audio/audiolib.h>

AuBool AuScanEvents(server, mode, dequeue, predicate, arg, event)

    AuServer *server;
    int mode;
    AuBool dequeue;
    AuBool (*predicate)(AuServer *,AuEvent *, AuPointer);
    AuPointer arg;
    AuEvent *event; /* RETURN */

\fBArguments\fP

server

Specifies the connection to the audio server.

mode

Specifies how far to look for a match. This should be one of these constants: AuEventsQueuedAlready, AuEventsQueuedAfterReading, or AuEventsQueuedAfterFlush.

dequeue

Specifies if a matching event is found, should it be removed from the queue.

predicate

Specifies the procedure that is called to determine if an event matches the criteria.

arg

Specifies any additional arguments to be passed to the predicate procedure.

event

Returns the matching event if found.

\fBDescription\fP

AuScanEvents scans the event queue looking for the first event that satisfies the caller-supplied predicate. If mode is AuEventsQueuedAlready, AuScanEvents only checks for events already in the queue. If mode is AuEventsQueuedAfterReading, and a matching event isn't found already in the queue, AuScanEvents attempts to read more events out of the application's connection. If mode is AuEventsQueuedAfterFlush and a matching event isn't already in the queue or isn't waiting to be read, AuScanEvents flushes the output queue and attempts to read more events out of the application's connection. If dequeue is AuTrue, and a matching event is found, it is removed from the queue. The predicate procedure is called with the arguments server, event, and arg and should return AuTrue to indicate a match.

\fBSee Also\fP

AuEventsQueued, AuScanForTypedEvent, AuNextEvent.

audiolib - Network Audio System C Language Interface