# SUBSYSTEM OVERVIEW

Object Queue Manager (OQM) Subsystem

The OQM subsystem is used to maintain queues of objects. The objects may be a single data type or a structure of many data types. The objects will be stored by the first-in-first-out method. Most of the queue manager routines are macros of list manager functions.

# USAGE

To use the object queue manager you must first create a queue by executing oqm_Createqueue. After a queue has been created, objects may be added to the queue with oqm_AddObject. Objects may be removed from a queue with oqm_RemoveObject or all objects may be removed with oqm_RemoveAll. Objects may be retrieved with oqm_GetObject which also removes it from the queue. Since the object is actually copied, the memory must be freed. The queue may be cycled using oqm_Cyclequeue to get the object pointers one at a time. The mpm_LastError function should be used after cycling, since an error and the end of a queue both return a NULL pointer. A new queue may be created with oqm_CopyQueue. The oqm_CopyQueue function makes a duplicate copy of the specified queue and all its objects. When finished with the queue, oqm_DeleteQueue should be called to free all memory associated with the queue.