In order to shorten code, especially when requesting which notifications
should be accepted using the contig_register
call, the following
macros may be of use. They are used to group the various notifications.
#define REG_REQUIRED (REG_QUERY_NAME | REG_DELETE | REG_QUIT | REG_PARAMS) #define REG_DATA_CHANGE (REG_JOIN_TO | REG_LENGTH | REG_COMPLEMENT) #define REG_OPS (REG_GET_OPS | REG_INVOKE_OP) #define REG_LOCKS (REG_GET_LOCK | REG_SET_LOCK) #define REG_REGISTERS (REG_REGISTER | REG_DEREGISTER) #define REG_BUFFER (REG_BUFFER_START | REG_BUFFER_END) #define REG_ALL (REG_REQUIRED | REG_DATA_CHANGE | REG_OPS | REG_LOCKS\ | REG_ORDER | REG_CURSOR_NOTIFY | REG_NUMBER_CHANGE \ | REG_ANNO | REG_REGISTERS | REG_HIGHLIGHT_READ \ | REG_BUFFER)
In the following descriptions, we outline the different notifications in the format of name followed by the name within the reg_data structure, the structure itself, and the description.