Action:
|
Sets the state of the root.
|
|
Prototype:
|
outcome api_make_root_state (
|
|
|
DELTA_STATE* ds
|
// state to make the root
|
|
|
|
|
// of its stream
|
|
|
);
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "kernel/kernapi/api/api.hxx"
|
|
#include "kernel/kernapi/api/kernapi.hxx"
|
|
#include "kernel/kerndata/bulletin/bulletin.hxx"
|
|
Description:
|
For any given
ENTITY, the history of that
ENTITY
must be maintained on a single
HISTORY_STREAM.
api_distribute_state_to_streams implements a consistency check to make sure this is the case. When processing a change or delete
BULLETIN, it first determines which
HISTORY_STREAM should get the
BULLETIN. It then checks to see that the given stream contains a create
BULLETIN for the
ENTITY. This depends on cooperation from
api_prune_history.
api_prune_history may delete a number of
DELTA_STATES, but it retains the create
BULLETINs for any active
ENTITYs in the root
DELTA_STATE.
|
|
|
In addition to holding create
BULLETINs from pruned
DELTA_STATEs, the root
DELTA_STATE cannot be rolled over by
api_roll_n_states,
api_change_to_state, or other high level roll APIs. (The low level
api_change_state can roll over the root state, but we recommend against it.) This makes it useful for holding
BULLETINs created during application initializations. For example, one does not typically want to be able to roll over the create
BULLETINs from loading a SAT file into a new part.
|
|
|
api_make_root_state prunes away all previous history, saving the create
BULLETINs at the beginning of the given state, and makes the state the root state.
|
|
Errors:
|
The pointer to
ds is
NULL.
|
|
Library:
|
kernel
|
|
Filename:
|
kern/kernel/kernapi/api/kernapi.hxx
|
|
Effect:
|
Read-only
|