Ejemplo n.º 1
0
        public A10APIServer(TargetDeviceEventDispatcher dispatcher)
        {
            this.EventDispatcher = dispatcher;

            urlMap = new Dictionary <string, System.Func <HttpListenerContext, HttpListenerResponse> >()
            {
                { $"{apiUrlPrefix}/addQueue", (context) =>
                  {
                      Logger.log("/addQueue");

                      string intervalStr = context.Request.QueryString.Get("interval");
                      float  interval    = float.Parse(intervalStr);

                      string directionStr = context.Request.QueryString.Get("direction");
                      int    direction    = int.Parse(directionStr);
                      direction = direction < 0 ? -1 : 1;

                      Logger.log($"/addQueue interval : {interval}, direction : {direction}");
                      DeviceCommand command = new DeviceCommand();
                      command.direction = direction;
                      command.interval  = interval;
                      EventDispatcher.AddQueue(command);
                      return(context.Response);
                  } },
                { $"{apiUrlPrefix}/clearQueue", (context) =>
                  {
                      Logger.log("/clearQueue");
                      EventDispatcher.ClearQueue();
                      return(context.Response);
                  } },
            };
        }
Ejemplo n.º 2
0
        static async Task Main(string[] args)
        {
            Logger.addLogger(new ConsoleLogger());

            var searcher   = new TargetDeviceSearcher();
            var dispatcher = new TargetDeviceEventDispatcher();

            dispatcher.init(searcher);

            var server = new A10APIServer(dispatcher);


            searcher.Start();
            server.Start();

            while (true)
            {
                await Task.Delay(TimeSpan.FromMilliseconds(3000));
            }
        }