Interface IDeviceController


public interface IDeviceController
A device controller takes input from several clients and ensures that each of their preferences about pausing the device being controlled is taken into account. For instance three classes control a scan, a class from the user interface, one from the topup monitor and one from the beam stop monitor, call them gui, topup, shutter If any one of gui, topup, shutter pause, the device gets paused. If all of gui, topup and shutter say resume, the device gets resumed. gui, topup and shutter have an id that goes in a map. They must always use the same id to send commands to the controller or it will not work.