示例#1
0
        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;
        }
示例#2
0
        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;
        }
示例#4
0
        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());
        }