private void UpdateFeedbacks() { // TODO [ ] Update as needed for the plugin being developed ConnectFeedback.FireUpdate(); OnlineFeedback.FireUpdate(); StatusFeedback.FireUpdate(); }
private void socket_ConnectionChange(object sender, GenericSocketStatusChageEventArgs args) { if (ConnectFeedback != null) { ConnectFeedback.FireUpdate(); } if (StatusFeedback != null) { StatusFeedback.FireUpdate(); } }
/// <summary> /// Links the plugin device to the EISC bridge /// </summary> /// <param name="trilist"></param> /// <param name="joinStart"></param> /// <param name="joinMapKey"></param> /// <param name="bridge"></param> public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge) { var joinMap = new EssentialsPluginBridgeJoinMapTemplate(joinStart); // This adds the join map to the collection on the bridge if (bridge != null) { bridge.AddJoinMap(Key, joinMap); } var customJoins = JoinMapHelper.TryGetJoinMapAdvancedForDevice(joinMapKey); if (customJoins != null) { joinMap.SetCustomJoinData(customJoins); } Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); Debug.Console(0, "Linking to Bridge Type {0}", GetType().Name); // TODO [ ] Implement bridge links as needed // links to bridge trilist.SetString(joinMap.DeviceName.JoinNumber, Name); trilist.SetBoolSigAction(joinMap.Connect.JoinNumber, sig => Connect = sig); ConnectFeedback.LinkInputSig(trilist.BooleanInput[joinMap.Connect.JoinNumber]); StatusFeedback.LinkInputSig(trilist.UShortInput[joinMap.Status.JoinNumber]); OnlineFeedback.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]); UpdateFeedbacks(); trilist.OnlineStatusChange += (o, a) => { if (!a.DeviceOnLine) { return; } trilist.SetString(joinMap.DeviceName.JoinNumber, Name); UpdateFeedbacks(); }; }