Esempio n. 1
0
        public Task <IQApplicationInfoResult> GetApplicationInfoAsync(string appId, IQDevice device)
        {
            var completionSource = new TaskCompletionSource <IQApplicationInfoResult>();

            MainThreadHandler.Post(() => GetApplicationInfo(appId, device, new IQApplicationInfoListenerImpl(completionSource)));
            return(completionSource.Task);
        }
Esempio n. 2
0
        public Task <IQOpenApplicationResult> OpenApplicationAsync(IQDevice device, IQApp app)
        {
            var completionSource = new TaskCompletionSource <IQOpenApplicationResult>();

            MainThreadHandler.Post(() => OpenApplication(device, app, new IQOpenApplicationListenerImpl(completionSource)));
            return(completionSource.Task);
        }
Esempio n. 3
0
        public Task <IQConnectStatusResult> InitializeAsync(Context context, bool autoUI)
        {
            var completionSource = new TaskCompletionSource <IQConnectStatusResult>();

            MainThreadHandler.Post(() => Initialize(context, autoUI, new IQInitializeCallback(completionSource)));
            return(completionSource.Task);
        }
Esempio n. 4
0
    void AppendLog(object msg)
    {
        LogTextContent += msg != null?msg.ToString() : "" + "\n";

        MainThreadHandler.Invoke(() => {
            UpdateUI();
        });
    }
Esempio n. 5
0
 void OnNetworkStateChanged(NetworkState state)
 {
     networkStateText = "网络状态改变" + state;
     if (state == NetworkState.Error || state == NetworkState.Closed)
     {
         client = null;
     }
     MainThreadHandler.Invoke(() => {
         UpdateUI();
     });
 }
Esempio n. 6
0
        public Task <IQSendMessageResult> SendMessageAsync(IQDevice device, IQApp app, Java.Lang.Object message)
        {
            var completionSource = new TaskCompletionSource <IQSendMessageResult>();

            MainThreadHandler.Post(() =>
            {
                IQSendMessageListenerImpl listener = ObjectPool.Allocate();
                listener.CompletionSource          = completionSource;
                SendMessage(device, app, message, listener);
            });
            return(completionSource.Task);
        }
Esempio n. 7
0
        public void OnUpdateTag(Tag tag)
        {
            if (chart.InvokeRequired)
            {
                var handler = new MainThreadHandler(OnUpdateTag);
                BeginInvoke(handler, tag);
                return;
            }

            if (tag.Id == _tag.Id)
            {
                chart.Series[Series].Points.AddXY(_xCoord++, tag.GetValue());
            }
        }
Esempio n. 8
0
        public void OnUpdateTag(Tag tag)
        {
            if (listViewTags.InvokeRequired)
            {
                var handler = new MainThreadHandler(OnUpdateTag);
                BeginInvoke(handler, tag);
                return;
            }

            var item = listViewTags.FindItemWithText(tag.Id);

            item.Tag = tag;
            item.SubItems[1].Text = tag.Description;
            item.SubItems[2].Text = tag.Address;
        }
Esempio n. 9
0
        public void OnRemoveTag(Tag tag)
        {
            if (listViewTags.InvokeRequired)
            {
                var handler = new MainThreadHandler(OnRemoveTag);
                BeginInvoke(handler, tag);
                return;
            }

            var item = listViewTags.FindItemWithText(tag.Id);

            if (item != null)
            {
                listViewTags.Items.Remove(item);
            }
        }
Esempio n. 10
0
        public void OnRemoveTag(Tag tag)
        {
            if (tag.GetType() == typeof(AnalogInputTag))
            {
                if (listViewAI.InvokeRequired)
                {
                    var handler = new MainThreadHandler(OnRemoveTag);
                    BeginInvoke(handler, tag);
                    return;
                }

                RemoveTagFromListView(listViewAI, tag);
            }
            else if (tag.GetType() == typeof(AnalogOutputTag))
            {
                if (listViewAO.InvokeRequired)
                {
                    var handler = new MainThreadHandler(OnRemoveTag);
                    BeginInvoke(handler, tag);
                    return;
                }

                RemoveTagFromListView(listViewAO, tag);
            }
            else if (tag.GetType() == typeof(DigitalInputTag))
            {
                if (listViewDI.InvokeRequired)
                {
                    var handler = new MainThreadHandler(OnRemoveTag);
                    BeginInvoke(handler, tag);
                    return;
                }

                RemoveTagFromListView(listViewDI, tag);
            }
            else
            {
                if (listViewDO.InvokeRequired)
                {
                    var handler = new MainThreadHandler(OnRemoveTag);
                    BeginInvoke(handler, tag);
                    return;
                }

                RemoveTagFromListView(listViewDO, tag);
            }
        }
Esempio n. 11
0
        public void OnAddTag(Tag tag)
        {
            if (tag.GetType() == typeof(AnalogInputTag))
            {
                if (listViewAI.InvokeRequired)
                {
                    var handler = new MainThreadHandler(OnAddTag);
                    BeginInvoke(handler, tag);
                    return;
                }

                AddAnalogInputTag((AnalogInputTag)tag);
            }
            else if (tag.GetType() == typeof(AnalogOutputTag))
            {
                if (listViewAO.InvokeRequired)
                {
                    var handler = new MainThreadHandler(OnAddTag);
                    BeginInvoke(handler, tag);
                    return;
                }

                AddAnalogOutputTag((AnalogOutputTag)tag);
            }
            else if (tag.GetType() == typeof(DigitalInputTag))
            {
                if (listViewDI.InvokeRequired)
                {
                    var handler = new MainThreadHandler(OnAddTag);
                    BeginInvoke(handler, tag);
                    return;
                }

                AddDigitalInputTag((DigitalInputTag)tag);
            }
            else
            {
                if (listViewDO.InvokeRequired)
                {
                    var handler = new MainThreadHandler(OnAddTag);
                    BeginInvoke(handler, tag);
                    return;
                }

                AddDigitalOutputTag((DigitalOutputTag)tag);
            }
        }
Esempio n. 12
0
    public void StartLogin()
    {
        LogTextContent = "";

        if (client == null)
        {
            return;
        }
        client.Request("Example.Login", "hello".StringToBytes(), (r) => {
            var msg = r.BytesToStringUTF8();
            Debug.Log("收到: " + msg);
            client.Request("Example.Test", r, (rr) => { });

            MainThreadHandler.Invoke(() => {
                AppendLog(msg);
            });
        });
    }
Esempio n. 13
0
    void InitClient()
    {
        if (client != null)
        {
            // close
        }
        client = new TCPClient();
        client.OnNetworkStateChanged += OnNetworkStateChanged;

        IPAddress ipAddress = IPAddress.Parse(ip);

        Debug.Log(ip + " => " + ipAddress);
        client.Connect(ipAddress, 9000, () => {
            AppendLog("连接成功");
            MainThreadHandler.Invoke(() => {
                StartLogin();
            });
        });
    }
Esempio n. 14
0
        public void OnAddTag(Tag tag)
        {
            if (listViewTags.InvokeRequired)
            {
                var handler = new MainThreadHandler(OnAddTag);
                BeginInvoke(handler, tag);
                return;
            }

            if (listViewTags.FindItemWithText(tag.Id) != null)
            {
                return;
            }

            var newItem = new ListViewItem(tag.Id)
            {
                Tag = tag
            };

            newItem.SubItems.Add(tag.Description);
            newItem.SubItems.Add(tag.Address);
            listViewTags.Items.Add(newItem);
        }
Esempio n. 15
0
 private void Awake()
 {
     MainThreadHandler.Init();
 }