public OWLOSThing(OWLOSThingConfig config) { this.config = config; Name = config.Name; files = new OWLOSFiles(this); foreach (OWLOSConnection connection in config.connections) { switch (connection.connectionType) { case ConnectionType.RESTfulClient: _RESTfulClientTransport = new RESTfulClientTransport(this) { connection = connection }; transports.Add(_RESTfulClientTransport); break; case ConnectionType.MQTT: //_UARTTransport = new UARTTransport(this); //_UARTTransport.connection = connection; //transports.Add(_UARTTransport); break; case ConnectionType.UART: _UARTTransport = new UARTTransport(this) { connection = connection }; transports.Add(_UARTTransport); break; } } //Sort connection by priority for (int i = 0; i < transports.Count; i++) { for (int j = 0; j < transports.Count - 1; j++) { if (transports[j].connection.Priority > transports[j + 1].connection.Priority) { IOWLOSTransport exchangeTransport = transports[j]; transports[j] = transports[j + 1]; transports[j + 1] = exchangeTransport; } } } Start(); // this.wrapper = wrapper; }
public OWLOSTransportControl(IOWLOSTransport transport) : base() { this.transport = transport; panelName.Text = transport.connection.name; if (transport.connection.connectionType == ConnectionType.RESTfulClient) { OWLOSRESTfulTransportControl RESTfulTransportControl = new OWLOSRESTfulTransportControl(transport); panelHolder.Children.Add(RESTfulTransportControl); } }
public OWLOSThingTransportControl(OWLOSThingControl parentOWLOSThingControl, IOWLOSTransport transport, double radius, double angel, double length, double width) : base(parentOWLOSThingControl, radius, angel, length, width) { Rotate(angel); this.transport = transport; transport.OnTransportStatusChanger += OnTransportStatusChanger; transportCountrol = new OWLOSTransportControl(transport); base.RegistRelatedPanel(transportCountrol.parentControl); //Название драйвера, смотрите UserControl_Loaded - пересчет извиба надписи petalNameText.Text = transport.connection.name; }
public OWLOSRESTfulTransportControl(IOWLOSTransport transport) { InitializeComponent(); this.transport = transport as RESTfulClientTransport; this.transport.OnTransportStatusChanger += Transport_OnTransportStatusChanger; this.transport.OnLogItem += Transport_OnLogItem; enabledCheckbox.IsChecked = this.transport.connection.enable; nameText.Text = this.transport.connection.name; hostText.Text = this.transport._RESTfulClientConnectionDTO.host; // portText.Text = this.transport._RESTfulClientConnectionDTO.port.ToString(); logGrid.Children.Add(logPanel = new OWLOSLogPanelControl()); recvLogGrid.Children.Add(recvLogPanel = new OWLOSLogPanelControl()); }