static Trackers.TrackerCallback defaultAction(ConnectionHandler ch, EriverProtocol packet)
 {
     return delegate(int error, int result)
     {
         if (error != 0 || result == 0)
         {
             packet.Kind = Command.Unavailable;
         }
         ch.Send(packet);
     };
 }
Example #2
0
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     ch.GetTracker().ClearCalibration(defaultAction(ch, packet));
 }
Example #3
0
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     ch.Listen = !ch.Listen;
 }
Example #4
0
 public abstract void Accept(ConnectionHandler ch, EriverProtocol packet);
Example #5
0
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     ch.Send(packet);
 }
Example #6
0
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     ch.GetTracker().AddPoint(packet.AddPoint.X, packet.AddPoint.Y, defaultAction(ch, packet));
 }
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     ch.GetTracker().AddPoint(packet.AddPoint.X, packet.AddPoint.Y , defaultAction(ch, packet));
 }
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     ch.Send(packet);
 }
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     ch.GetTracker().GetName(delegate(int error, int result)
     {
         packet.Name.Value = (error != 0) ? (byte) result : (byte) 0;
         ch.Send(packet);
     });
 }
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     XConfSettings xconf = new XConfSettings(
     Properties.Settings.Default.ScreenHeight,
     Properties.Settings.Default.ScreenWidth,
     Properties.Settings.Default.TrackerDeltaX,
     Properties.Settings.Default.TrackerDeltaY,
     Properties.Settings.Default.TrackerDeltaZ,
     Properties.Settings.Default.TrackerDeltaAngle);
     //ch.GetTracker().SetXConfig(xconf, packet.StartCalibration.Angle);
     ch.GetTracker().StartCalibration(defaultAction(ch, packet));
 }
 public abstract void Accept(ConnectionHandler ch, EriverProtocol packet);
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     ch.Listen = !ch.Listen;
 }
 public override void Accept(ConnectionHandler ch, EriverProtocol packet)
 {
     ch.GetTracker().EndCalibration(defaultAction(ch, packet));
 }
Example #14
0
        public void Start()
        {
            listener = new TcpListener(IPAddress.Parse(address), port);
            logger.Info("Listening on " + address + " : " + port);
            listener.Start();

            while (!shutdown.WaitOne(0))
            {
                TcpClient client = null;
                try
                {
                    client = listener.AcceptTcpClient();
                }
                catch (SocketException exc)
                {
                    logger.Error("Error on accept. Probably due to stopping server.");
                    logger.Error(exc);
                    return;
                }

                Stream stream = client.GetStream();
                ConnectionHandler handler = new ConnectionHandler(name, "<unavaliable>", stream, shutdown);
                Thread thread = new Thread(handler.Start);
                thread.Start();
            }
            listener.Stop();
            listener = null;
        }
Example #15
0
        public void Start()
        {
            listener = new TcpListener(IPAddress.Parse(address), port);
            logger.Info("Listening on " + address + " : " + port);
            listener.Start();

            while (!shutdown.WaitOne(0))
            {
                TcpClient client = null;
                try
                {
                    client = listener.AcceptTcpClient();
                }
                catch (SocketException exc)
                {
                    logger.Error("Error on accept. Probably due to stopping server.");
                    logger.Error(exc);
                    return;
                }

                NetworkStream stream = client.GetStream();
                ConnectionHandler handler = new ConnectionHandler(name, tracker_type, "<unavaliable>", stream, client.Client.RemoteEndPoint.ToString());
                handler.OnStatusChanged += delegate(object sender, EventArgs args)
                {
                    dispatcher.BeginInvoke(new Action(delegate() { Connections.Remove((ConnectionHandler)sender); }));
                };
                dispatcher.BeginInvoke(new Action(delegate() { Connections.Add(handler); }));
                Thread thread = new Thread(handler.Start);
                thread.Start();
            }

            listener.Stop();
            listener = null;
        }