public TurnOnOffDevice(string vendorName, string model, string version, string serialNumber, string description, ITurnOnOffModule module) : base(module.Name, vendorName, model, version, serialNumber, description) { Module = module; AdapterBusObject busObject = new AdapterBusObject("Guybrush"); Interface = new AdapterInterface("com.guybrush.devices.onoffcontrol"); var attr = new AdapterAttribute("Status", module.Status) { COVBehavior = SignalBehavior.Always, Access = E_ACCESS_TYPE.ACCESS_READ }; attr.Annotations.Add("com.guybrush.devices.onoffcontrol.status", "The device status"); Interface.Properties.Add(attr); List <IAdapterValue> inputs = new List <IAdapterValue>(1); inputs.Add(new AdapterValue("TargetStatus", false)); AdapterMethod method = new AdapterMethod("Switch", "Switches devices on or off.", ChangeStatus, inputs); Interface.Methods.Add(method); busObject.Interfaces.Add(Interface); BusObjects.Add(busObject); CreateEmitSignalChangedSignal(); Module.ValueChanged += Module_ValueChanged; }
public ReaderDevice(string vendorName, string model, string version, string serialNumber, string description, IReaderModule module) : base(module.Name, vendorName, model, version, serialNumber, description) { Module = module; AdapterBusObject busObject = new AdapterBusObject("Guybrush"); Interface = new AdapterInterface("com.guybrush.devices.reader"); var attrValue = new AdapterAttribute("Value", module.Value) { COVBehavior = SignalBehavior.Always, Access = E_ACCESS_TYPE.ACCESS_READ }; attrValue.Annotations.Add("com.guybrush.devices.reader.value", "The device value"); Interface.Properties.Add(attrValue); var attrUnit = new AdapterAttribute("Unit", module.Unit) { COVBehavior = SignalBehavior.Always, Access = E_ACCESS_TYPE.ACCESS_READ }; attrUnit.Annotations.Add("com.guybrush.devices.reader.unit", "The device unit"); Interface.Properties.Add(attrUnit); busObject.Interfaces.Add(Interface); BusObjects.Add(busObject); CreateEmitSignalChangedSignal(); Module.ValueChanged += Module_ValueChanged; Module.UnitChanged += Module_UnitChanged; }
public DisplayDevice(string name, string vendorName, string model, string version, string serialNumber, string description, IDisplayModule module) : base(name, vendorName, model, version, serialNumber, description) { Module = module; AdapterBusObject busObject = new AdapterBusObject("Guybrush"); Interface = new AdapterInterface("com.guybrush.display"); var attr = new AdapterAttribute("Text", module.Text) { COVBehavior = SignalBehavior.Always, Access = E_ACCESS_TYPE.ACCESS_READ }; attr.Annotations.Add("com.guybrush.devices.display.text", "The device status"); Interface.Properties.Add(attr); busObject.Interfaces.Add(Interface); BusObjects.Add(busObject); CreateEmitSignalChangedSignal(); Module.TextChanged += Module_TextChanged; }