Ejemplo n.º 1
0
        public SocketBinding Bind(Type controller)
        {
            SocketBinding found = this.Find(controller);

            if (found != null)
            {
                return(found);
            }
            SocketBinding binding = new SocketBinding(controller);

            this._bindings.Add(binding);
            return(binding);
        }
Ejemplo n.º 2
0
 public IEnumerable GetControllersFor(UInt16 port)
 {
     foreach (object bindobject in this._bindings)
     {
         SocketBinding binding = bindobject as SocketBinding;
         if (binding == null)
         {
             continue;
         }
         if (binding.AllSockets || binding.Sockets.Contains(port))
         {
             yield return(binding.Controller);
         }
     }
 }
Ejemplo n.º 3
0
 public SocketBinding Find(Type controller)
 {
     foreach (object bindobject in _bindings)
     {
         SocketBinding binding = bindobject as SocketBinding;
         if (binding == null)
         {
             continue;
         }
         if (binding.Controller == controller)
         {
             return(binding);
         }
     }
     return(null);
 }
Ejemplo n.º 4
0
        public IEnumerable GetPortsFor(Type controller)
        {
            ArrayList portsYielded = new ArrayList();

            foreach (object bindobject in this._bindings)
            {
                SocketBinding binding = bindobject as SocketBinding;
                if (binding == null)
                {
                    continue;
                }
                if (binding.Controller == controller)
                {
                    if (binding.AllSockets)
                    {
                        yield return(-1);

                        break;
                    }
                    foreach (object portobject in binding.Sockets)
                    {
                        if (!(portobject is UInt16))
                        {
                            continue;
                        }
                        UInt16 port = (UInt16)portobject;
                        if (portsYielded.Contains(port))
                        {
                            continue;
                        }
                        portsYielded.Add(port);
                        yield return(port);
                    }
                }
            }
        }