Example #1
0
 public GuideDriver()
 {
     driver = new UpDriver(DRIVER_ID);
     driver.AddService("Animate").AddParameter("animation", UpService.ParameterType.MANDATORY);
     driver.AddService("Pause");
     driver.AddService("Resume");
     driver.AddService("Reset");
 }
Example #2
0
 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);
 }
Example #3
0
        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>();
        }
Example #4
0
        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;
        }
Example #5
0
        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);
        }
Example #6
0
        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());
        }
Example #7
0
        /// <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;
        }