tsc_IJobMonitor

This interface is used to handle the Survey Core current job database change events.  Every database operation takes place within a transaction, which is atomic - either stored in its entirety, or not at all if a failure occurs. 

When the group of database operations that comprises a transaction completes successfully, the OnGroupEnd event is triggered.  At the same time, the group is examined for certain record types, and further events are triggered as a result.

tsc_IJobMonitor listens only to global events which indicate that the current job database has changed.  It has no connection with other jobs that may be currently open.  The general use of this class is to invalidate cached data, rebuild forms, or force recomputations when the database changes.

To see database events in greater detail, use the tsc_IDatabaseMonitor class.

Starting and stopping the monitor

void  Start ();
Starts monitoring events that occur on the current job.  Calling Start multiple times is not an error.

void  Stop  ();
Stops event handling for the current job.  If events were never started this is not an error.

Event handlers

virtual void OnGroupEnd ();
This event is triggered at the end of every database transaction.  Specific events such as OnTargetChange and the configuration change events are triggered first, and the OnGroupEnd event is triggered last.

virtual void OnTargetChange ();
This event indicates a target record has been written or changed.

virtual void OnAntennaChange ();
This event indicates a GNSS antenna record has been written or changed.

virtual void OnSOListChange ();
This event is triggered by a change to the stakeout list - the list of points currently selected for staking out.  This does not necessarily occur when the list has changed, but rather when it is saved to the database.

virtual void OnPointChange ();
This event is triggered by a point record being written or updated.

virtual void OnLineChange ();
This event is triggered by a line record being written or updated.

virtual void OnArcChange ();
This event is triggered by an arc record being written or updated.

virtual void OnBackBearingChange ();
This event occurs when a backbearing record for the current station is written or updated.

virtual void OnFeaturesChange ();
This event indicates a different feature and attributes file has been selected.

virtual void OnPointOffsetChange ();
This event occurs when a point offset record has been written or replaced.