// constructor public Reader(SerialPort port, EventPublicationFunction publishEvent, DeviceResponsePublicationFunction publishResponse, DeviceDataPublicationFunction publishData, DeviceStatusPublicationFunction publishStatus, Form1 form) { // constants this.kDeviceReadyMsg = "senddata"; this.serialPort = port; // initial state this.connectionIsOpen = false; this.deviceResponse = ""; this.readingDeviceResponse = false; this.lastStreamTime = new DateTime(); this.serialPort.ReadBufferSize = 8192; // publishing functions this.PublishEvent = publishEvent; this.PublishDeviceResponse = publishResponse; this.PublishDataResponse = publishData; this.PublishStatusResponse = publishStatus; this.formVar = form; }
// constructor public ConnectionManager(SerialPort port, EventPublicationFunction publishEvent, StatusPublicationFunction publishStatus) { this.serialPort = port; this.PublishEvent = publishEvent; this.PublishStatus = publishStatus; this.connectionOpenerEnabled = true; this.serialPortLock = new Object(); }
// constructor public Writer(SerialPort port, EventPublicationFunction publishEvent) { this.serialPort = port; this.commandQueue = new Queue(); this.commandQueueLock = new Object(); this.terminalCommandQueue = new Queue(); this.terminalCommandQueueLock = new Object(); this.enabled = false; this.PublishEvent = publishEvent; }