first previous next last contents

REG_LENGTH

reg_length          length;

typedef struct {
    int    job;        /* REG_LENGTH, implies data change too */
    int    length;     /* New length */
} reg_length;

Sent whenever the length or data within of a contig changes. In this respect REG_LENGTH is a bit of a misnomer; replacing a single base within the contig editor and then saving (which does not change the length of that contig) will still send a REG_LENGTH request to inform data that the contig has changed. This is one of the most frequently sent and acknowledged requests.

REG_QUERY_NAME

reg_query_name      name;

typedef struct {
    int    job;        /* REG_QUERY_NAME */
    char  *line;     /* char[80] */
} reg_query_name;

Sent by the result_names routine to obtain a brief one line (less than 80 characters) name of this registered item. Callback procedures should write into the line field themselves with no need for memory allocation. The name returned here will be used as a component of the line within the Results Manager window. Registered data is required to handle this request, unless it is invisible (has the REG_FLAG_INVIS bit set).

REG_DELETE

reg_delete          delete;

typedef struct {
    int    job;        /* REG_DELETE */
} reg_delete;

The registered data should be removed and any associated displays should be shutdown. This is in response to a contig being deleted (by the io_delete_contig function), or a programmed shutdown to force associated displays to quit (such as when forcing the quality display to quit when the user quits the template display). Registered data is required to handle this request.

REG_GET_LOCK and REG_SET_LOCK

#define REG_LOCK_READ   1
#define REG_LOCK_WRITE  2

reg_get_lock        glock;
reg_set_lock        slock;

typedef struct {
    int    job;        /* REG_GET_LOCK */
    int    lock;       /* Sends lock requirements, returns locks allowed */
} reg_get_lock, reg_set_lock;

Both these notifications share the same structure. The pair are used in conjunction to determine whether exclusive write access is allowed on this contig, and if so to set this access. This is all managed by the contig_lock_write function. See section Locking Mechanisms. Functions wishing to modify data, such as complement, should use locking.


first previous next last contents
This page is maintained by staden-package. Last generated on 1 March 2001.
URL: http://www.mrc-lmb.cam.ac.uk/pubseq/manual/scripting_180.html