private bool AddSubscription(Dictionary <Guid, InputSubscriptionRequest>[] dict, InputSubscriptionRequest subReq) { var inputIndex = subReq.BindingDescriptor.Index; if (dict[inputIndex] == null) { dict[inputIndex] = new Dictionary <Guid, InputSubscriptionRequest>(); } dict[inputIndex][subReq.SubscriptionDescriptor.SubscriberGuid] = subReq; return(true); }
private bool RemoveSubscription(Dictionary <Guid, InputSubscriptionRequest>[] dict, InputSubscriptionRequest subReq) { var axisIndex = subReq.BindingDescriptor.Index; if (dict[axisIndex] != null) { dict[axisIndex].Remove(subReq.SubscriptionDescriptor.SubscriberGuid); if (dict[axisIndex].Count == 0) { dict[axisIndex] = null; } return(true); } return(false); }
private void CallbackHandler(InputSubscriptionRequest subreq, short value) { Task.Factory.StartNew(() => subreq.Callback(value)); }
public void SubscribeInput(InputSubscriptionRequest subReq) { _subHandler.Subscribe(subReq); }
public bool UnsubscribeInput(InputSubscriptionRequest subReq) { return(false); }
private void CallbackHandler(InputSubscriptionRequest subreq, short value) { Task.Factory.StartNew(() => subreq.Callback(value)); //ThreadPool.QueueUserWorkItem( cb => callback(value)); //callback(value); }
public void UnsubscribeInput(InputSubscriptionRequest subReq) { SubHandler.Unsubscribe(subReq); }
public DeviceReport GetInputDeviceReport(InputSubscriptionRequest subReq) { return(GetInputDeviceReport(subReq.DeviceDescriptor)); }
public bool Add(InputSubscriptionRequest subReq) { subscriptions.Add(subReq.SubscriptionDescriptor.SubscriberGuid, subReq); return(true); }