Bulletin Boards
List of: Discussion Topic
Subjects: History and Roll
Contents: Kernel

When an entity in the ACIS model is created, altered, or deleted, a bulletin recording the data structure change is added to a bulletin board. In the modeler's default state (in which logging and auto-checkpointing are on), each call to an API function generates a new bulletin board that holds a list of bulletins for recording modifications to the model. The bulletin board holds pointers to the first and last bulletin, and to the next bulletin board (Figure 7-4).


Figure 7-4. Bulletin Board Structure

The BULLETIN class provides functions that read the status of the current bulletin board: retrieve the first, last, next, and previous bulletin on a particular bulletin board; retrieve the old and new entity pointer from a bulletin board; and retrieve the type of bulletin.

Note An application can read, but cannot alter, the records in a bulletin.

The ACIS programmer has control over roll back through APIs (api_note_state, api_change_state, api_change_to_state, api_find_named_state, api_name_state, api_roll_n_states, and api_delete_ds) and macros (API_BEGIN, API_END, API_NOP_BEGIN, API_NOP_END, API_TRIAL_BEGIN, and API_TRIAL_END). ACIS is shipped with the default of api_loggingTRUE. Therefore, the system automatically logs all operations. This is the primary control of whether the application will support undo/redo. When api_logging is set to FALSE, ACIS discards all but the current delta state.
PDF/KERN/07HIST.PDF
HTM/DATA/KERN/KERN/07HIST/0002.HTM