reg_generic generic; typedef struct { int job; /* REG_GENERIC */ int task; /* Some specific task */ void *data; /* And data associated with the task */ } reg_generic;
This is used for sending specific requests to specific data or data types.
The task is a macro named after the type the task deals with. Eg
TASK_EDITOR_SETCURSOR
. REG_GENERIC
is usually used in conjuction
with a result_notify
or type_contig_notify
function call.
See section Specific Notification Tasks.
reg_number number; typedef struct { int job; /* REG_NUMBER_CHANGE */ int number; /* New contig number */ } reg_number;
Sent whenever a contig number changes, but not when a reading number changes. This is currently only sent when renumbering contigs during a contig delete operation.
reg_join join; typedef struct { int job; /* REG_JOIN_TO */ int contig; /* New contig number */ int offset; /* Offset of old contig into new contig */ } reg_join;
Used to notify data that this contig has just been joined to another contig,
at a specified offset. contig is contig number that this contig has been
joined to (and hence it's new number). offset is the offset within the
new contig that the old contig has been joined to. This request is always sent
to the right most of the contig pair to join. The leftmost contig receives a
REG_LENGTH
notification. See section Joining two contigs.
reg_order order; typedef struct { int job; /* REG_ORDER */ int pos; /* New order */ } reg_order;
The purpose is to inform when the contig order changes. pos is the new
position of this contig. To be consistent, there will be further
REG_ORDER requests indicating the new position of the contig that was
previously at this position. Typically this is simply handled by sending a
notification for each contig. To handle these efficiently it is probably best
to use the REG_BUFFER_START
and REG_BUFFER_END
notifications.