private bool UnsubscribeDeviceBindingInput(SubscriptionState state, InputSubscription deviceBindingSubscription) { if (!deviceBindingSubscription.DeviceBinding.IsBound) { return(true); } return(_context.IOController.UnsubscribeInput(GetInputSubscriptionRequest(state, deviceBindingSubscription))); }
public IOTester(string name, ProviderDescriptor providerDescriptor, DeviceDescriptor deviceDescriptor, BindingDescriptor bindingDescriptor, bool block = false) { // Input _input = new InputSubscription { ProviderDescriptor = providerDescriptor, DeviceDescriptor = deviceDescriptor, BindingDescriptor = bindingDescriptor, Block = block, Callback = new Action <short>(value => { Console.WriteLine("{0} State: {1}", name, value); if (_output != null) { IOW.Instance.SetOutputstate(_output, _bindingDescriptor, value); } }) }; }
private InputSubscriptionRequest GetInputSubscriptionRequest(SubscriptionState state, InputSubscription deviceBindingSubscription) { var device = deviceBindingSubscription.DeviceSubscription.Device; return(new InputSubscriptionRequest() { ProviderDescriptor = GetProviderDescriptor(device), DeviceDescriptor = GetDeviceDescriptor(device), SubscriptionDescriptor = GetSubscriptionDescriptor(deviceBindingSubscription.DeviceBindingSubscriptionGuid, state.StateGuid), BindingDescriptor = GetBindingDescriptor(deviceBindingSubscription.DeviceBinding), Callback = deviceBindingSubscription.DeviceBinding.Callback }); }