Ejemplo n.º 1
0
 private void Server_ClientAccepted(object sender, Control.Network.Server.ServerEventArgs e)
 {
     Task.Factory.StartNew(delegate()
     {
         e.Client.IsAttachedChanged += Client_IsAttachedChanged;
         var name = "";
         e.Client.Dispatcher.Invoke((Action) delegate()
         {
             name = e.Client.DisplayName;
         });
         var client = new Extensibility.MuboxClientBridge(
             (key) =>
         {
             e.Client.Dispatch(key);
         },
             (me) =>
         {
             e.Client.Dispatch(new Model.Input.MouseInput
             {
                 // MouseData
                 Flags      = me.Flags,
                 IsAbsolute = me.IsAbsolute,
                 Time       = me.Time,
                 WM         = me.WM,
                 Point      = new System.Windows.Point
                 {
                     X = me.X,
                     Y = me.Y,
                 },
             });
         })
         {
             Name = name,
         };
         e.Client.DisplayNameChanged += (dnc_s, dnc_e) =>
         {
             client.Name = (dnc_s as Mubox.Model.Client.ClientBase).DisplayName;
         };
         lock (_clients)
         {
             _clients.Add(client);
         }
         _extensions.Values.ToList()
         .ForEach(ext =>
         {
             ext.Bridge.Clients.Add(client);
         });
     }, TaskCreationOptions.PreferFairness);
 }
Ejemplo n.º 2
0
 private void Server_ClientAccepted(object sender, Control.Network.Server.ServerEventArgs e)
 {
     Task.Factory.StartNew(delegate()
     {
         e.Client.IsAttachedChanged += Client_IsAttachedChanged;
         var name = "";
         e.Client.Dispatcher.Invoke((Action)delegate()
         {
             name = e.Client.DisplayName;
         });
         var client = new Extensibility.MuboxClientBridge(
             (key) =>
             {
                 e.Client.Dispatch(key);
             },
             (me) =>
             {
                 e.Client.Dispatch(new Model.Input.MouseInput
                 {
                     // MouseData
                     Flags = me.Flags,
                     IsAbsolute = me.IsAbsolute,
                     Time = me.Time,
                     WM = me.WM,
                     Point = new System.Windows.Point
                     {
                         X = me.X,
                         Y = me.Y,
                     },
                 });
             })
         {
             Name = name,
         };
         e.Client.DisplayNameChanged += (dnc_s, dnc_e) =>
         {
             client.Name = (dnc_s as Mubox.Model.Client.ClientBase).DisplayName;
         };
         lock (_clients)
         {
             _clients.Add(client);
         }
         _extensions.Values.ToList()
             .ForEach(ext =>
             {
                 ext.Bridge.Clients.Add(client);
             });
     }, TaskCreationOptions.PreferFairness);
 }