In addition to the various display fields, the plug-in can send back control fields. Controls fields allow the plug-in to HALT an autorun sequence and/or control whether the current capture should be saved to disk.
Each capture can be saved to disk. Plug-ins and auto-searches can control whether a particular capture will be saved or not. This allows them to act as filters to ensure interesting captures are preserved for later inspection or that uninteresting ones are excluded. You might use these controls instead of HALT controls to capture multiple soft-triggers. There are several settings in the acquisition settings to control the maximum number of captures saved to disk, the amount of disk space to use or preserve and whether we save round-robin or halt when a limit is hit. All of these settings are honored during any capture save.
Whether or not a specific capture is saved to disk is controlled by the following logic:
|•||If any plug-in or auto-search object issues a FORCESAVE command, then SAVE|
|•||else if any plug-in or auto-search object issues a VETOSAVE request then do NOT SAVE|
|•||else if the default setting (acquisitions options) is set to SAVE, then SAVE|
The save/veto controls operate independently of the HALT command and independently of whether we are doing a single capture or running in auto-run mode. You can halt and save for example. Refer to AsyncWD.cpp for an example.