コード例 #1
0
        private void SocketDataReceived(object sender, DataReceivedEventArgs e)
        {
            List <DeviceInfo> loDeviceList = new List <DeviceInfo>();

            byte[] loDummyOut;
            foreach (var lsMessage in e.Data.ToISCPStatusMessage(out loDummyOut))
            {
                var loDevice = ExtractDevice(lsMessage, e.RemoteAddress);
                if (loDevice != null)
                {
                    loDeviceList.Add(loDevice);

                    if (this.AlreadyDiscovered(loDevice.MacAddress))
                    {
                        return;
                    }

                    var conn = new OnkyoClient(loDevice.HostName, loDevice.ServiceName);
                    conn.ConnectionLost += (object s, EventArgs args) =>
                    {
                        this.RemoveDevice(loDevice.MacAddress);
                    };

                    this.AddDevice(loDevice.MacAddress, conn);
                }
            }
        }
コード例 #2
0
 internal OnkyoDevice(OnkyoAdapter adapter, OnkyoClient conn, string Name, string VendorName, string Model, string Version, string SerialNumber, string Description)
     : base(adapter, Name, VendorName, Model, Version, SerialNumber, Description)
 {
     _conn = conn;
     _conn.MessageReceived += OnkyoMessageReceived;
 }