public Task <IQApplicationInfoResult> GetApplicationInfoAsync(string appId, IQDevice device) { var completionSource = new TaskCompletionSource <IQApplicationInfoResult>(); MainThreadHandler.Post(() => GetApplicationInfo(appId, device, new IQApplicationInfoListenerImpl(completionSource))); return(completionSource.Task); }
public Task <IQOpenApplicationResult> OpenApplicationAsync(IQDevice device, IQApp app) { var completionSource = new TaskCompletionSource <IQOpenApplicationResult>(); MainThreadHandler.Post(() => OpenApplication(device, app, new IQOpenApplicationListenerImpl(completionSource))); return(completionSource.Task); }
public Task <IQConnectStatusResult> InitializeAsync(Context context, bool autoUI) { var completionSource = new TaskCompletionSource <IQConnectStatusResult>(); MainThreadHandler.Post(() => Initialize(context, autoUI, new IQInitializeCallback(completionSource))); return(completionSource.Task); }
void AppendLog(object msg) { LogTextContent += msg != null?msg.ToString() : "" + "\n"; MainThreadHandler.Invoke(() => { UpdateUI(); }); }
void OnNetworkStateChanged(NetworkState state) { networkStateText = "网络状态改变" + state; if (state == NetworkState.Error || state == NetworkState.Closed) { client = null; } MainThreadHandler.Invoke(() => { UpdateUI(); }); }
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); }
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()); } }
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; }
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); } }
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); } }
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); } }
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); }); }); }
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(); }); }); }
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); }
private void Awake() { MainThreadHandler.Init(); }