public GuideDriver() { driver = new UpDriver(DRIVER_ID); driver.AddService("Animate").AddParameter("animation", UpService.ParameterType.MANDATORY); driver.AddService("Pause"); driver.AddService("Resume"); driver.AddService("Reset"); }
public FeedbackDriver() { driver = new UpDriver(DRIVER_ID); driver.AddService("RotateEuler").AddParameter("member", UpService.ParameterType.MANDATORY) .AddParameter("rotation", UpService.ParameterType.MANDATORY); driver.AddService("RotateQuaternion").AddParameter("member", UpService.ParameterType.MANDATORY) .AddParameter("rotation", UpService.ParameterType.MANDATORY); }
public TreeNode(UpDriver driver) { if (driver == null) throw new System.ArgumentNullException("Driver cannot be null."); this.driver = driver; this.parent = new List<TreeNode>(); this.children = new List<TreeNode>(); }
public static UpDriver FromJSON(object obj) { IDictionary<string, object> json = obj as IDictionary<string, object>; UpDriver d = new UpDriver(Util.JsonOptString(json, "name")); d.services = ServicesFromJSON(json, "services"); d.events = ServicesFromJSON(json, "events"); d.equivalentDrivers = StringsFromJSON(json, "equivalent_drivers"); return d; }
public DeviceDriver() { driver = new UpDriver("uos.DeviceDriver"); driver.AddService("listDrivers") .AddParameter(DRIVER_NAME_KEY, UpService.ParameterType.OPTIONAL); //driver.AddService("authenticate") // .AddParameter(SECURITY_TYPE_KEY, UpService.ParameterType.MANDATORY); driver.AddService("goodbye"); driver.AddService("handshake") .AddParameter(DEVICE_KEY, UpService.ParameterType.MANDATORY); driver.AddService("tellEquivalentDriver") .AddParameter(DRIVER_NAME_KEY, UpService.ParameterType.MANDATORY); }
private void AddToEquivalanceList(IList<object> jsonList, UpDriver upDriver) { IList<string> equivalentDrivers = upDriver.equivalentDrivers; if (equivalentDrivers != null) { foreach (string equivalentDriver in equivalentDrivers) { UpDriver driver = gateway.driverManager.GetDriverFromEquivalanceTree(equivalentDriver); if (driver != null) AddToEquivalanceList(jsonList, driver); } } jsonList.Add(upDriver.ToJSON()); }
/// <summary> /// Adds the driver to the driverHash and to the equivalence tree. /// </summary> /// <param name="driver">Object representing the interface of the Driver to be added</param> public void AddToEquivalenceTree(UpDriver driver) { TreeNode node = new TreeNode(driver); List<string> equivalentDrivers = driver.equivalentDrivers; HashSet<string> driversNotFound = new HashSet<string>(); if (equivalentDrivers != null) { foreach (string equivalentDriver in equivalentDrivers) { TreeNode parent = null; if (!driverHash.TryGetValue(equivalentDriver, out parent)) driversNotFound.Add(equivalentDriver); else { ValidateInterfaces(parent.driver.services, node.driver.services); ValidateInterfaces(parent.driver.events, node.driver.events); parent.AddChild(node); } } } else tree.Add(node); if (driversNotFound.Count > 0) throw new DriverNotFoundException("Equivalent drivers not found.", driversNotFound); driverHash[driver.name] = node; }