// BE CAREFUL! RUNS ON A SEPARATE THREAD! public NodeDriver ReadConfiguration() { var driver = NodeDriver.BuildWith( new FieldGuid(SnapDriver.PHIDGETS_DRIVER_ID), // TypeId new FieldString(string.Empty), // Address new FieldBase64(string.Empty), // Configuration new FieldString(Resources.Strings.DriverName)); // DriverName driver = driver.SetRunning(new FieldBool(Running)); // status only if (Running) // Running property is threadsafe { var devicesMutable = new Collection <NodeDevice>(); // Phidgets claims to be a threadsafe library, // and manager is readonly foreach (Phidget phidget in manager.Devices) { var dev = new PhidgetsDevice(phidget); devicesMutable.Add(dev.Device); } driver = driver.NodeDeviceChildren.Append( new ReadOnlyCollection <NodeDevice>(devicesMutable)); } return(driver); }
// BE CAREFUL! RUNS ON A SEPARATE THREAD! public NodeDriver ReadConfiguration() { var driver = NodeDriver.BuildWith( new FieldGuid(SnapDriver.PHIDGETS_DRIVER_ID), // TypeId new FieldString(string.Empty), // Address new FieldBase64(string.Empty), // Configuration new FieldString(Resources.Strings.DriverName));// DriverName driver = driver.SetRunning(new FieldBool(Running)); // status only if (Running) // Running property is threadsafe { var devicesMutable = new Collection<NodeDevice>(); // Phidgets claims to be a threadsafe library, // and manager is readonly foreach (Phidget phidget in manager.Devices) { var dev = new PhidgetsDevice(phidget); devicesMutable.Add(dev.Device); } driver = driver.NodeDeviceChildren.Append( new ReadOnlyCollection<NodeDevice>(devicesMutable)); } return driver; }