The following eXtremeDB Event types are defined by enum MCO_EVENT_TYPE in mco.h:
typedef enum MCO_EVENT_TYPE_E_
{
MCO_EVENT_NEW, /* A new instance created */
MCO_EVENT_UPDATE, /* an existing instance was updated, applied to single field */
MCO_EVENT_DELETE, /* an existing instance was deleted */
MCO_EVENT_DELETE_ALL, /* delete_all operation was called for a class */
MCO_EVENT_CHECKPOINT, /* modifications applied to an instance were checked in */
MCO_EVENT_CLASS_UPDATE /* an existing instance was updated, applied to any of the fields */
} MCO_EVENT_TYPE;
|
MCO_EVENT_NEW
|
A new instance created |
|
MCO_EVENT_UPDATE
|
An existing instance was updated, applied to single field |
|
MCO_EVENT_DELETE
|
An existing instance was deleted |
|
MCO_EVENT_DELETE_ALL |
Delete_all operation was called for a class |
|
MCO_EVENT_CHECKPOINT |
Modifications applied to an instance were checked in |
|
MCO_EVENT_CLASS_UPDATE |
An existing instance was updated, applied to any of the fields |
When an UPDATE event fires, the event handler will be called with a MCO_HANDLING_ORDER argument indicating whether the field or class content represents the object's state before or after the event. The possible values for MCO_HANDLING_ORDER are defined as follows in mco.h:
typedef enum MCO_HANDLING_ORDER_E_
{
MCO_BEFORE_UPDATE, MCO_AFTER_UPDATE
} MCO_HANDLING_ORDER;
|
MCO_BEFORE_UPDATE |
The field or class content represents the object state before the update event. |
|
MCO_AFTER_UPDATE |
The field or class content represents the object state after the update event. |