//---- #region Create & Serialize methods public override EndPoint Create(SocketAddress socketAddress) { Dump("BzL2Ep.Create IN", socketAddress); if (socketAddress.Family != AddressFamily) { throw new ArgumentException("Wrong AddressFamily."); } if (socketAddress.Size < SaLen) { throw new ArgumentException("Too short sockaddr_l2 expected at least " + SaLen + ", but was: " + socketAddress.Size + "."); } byte[] tmpArr; // tmpArr = CopyFromSa(socketAddress, PsmOffset, PsmLength); var tmpI16 = BitConverter.ToInt16(tmpArr, 0); //tmpI16 = IPAddress.NetworkToHostOrder(tmpI16); var psm = unchecked ((UInt16)tmpI16); // tmpArr = CopyFromSa(socketAddress, AddrOffset, 6); // var addr = BluetoothAddress.CreateFromLittleEndian(tmpArr); var ep = new BluezL2capEndPoint(addr, psm); return(ep); }
public override SocketAddress Serialize() { var sa = new SocketAddress(AddressFamily, SaLen); byte[] tmpArr; // var scnByte = checked ((byte)Port); tmpArr = BitConverter.GetBytes(scnByte); BluezL2capEndPoint.CopyToSa(tmpArr, sa, ScnOffset); // tmpArr = Address.ToByteArrayLittleEndian(); BluezL2capEndPoint.CopyToSa(tmpArr, sa, AddrOffset); // return(sa); }
internal static BluezL2capEndPoint CreateBindEndPoint(BluetoothEndPoint serverEP) { int port; // Win32 uses -1 for 'auto assign' but BlueZ uses 0. if (serverEP.Port == -1) // TODO ! Test on L2CAP { port = 0; //TODO } else if (serverEP.Port > BluetoothEndPoint.MaxScn PSM!!) { // // BlueZ doesn't complain in this case! Do't know what it does... // throw new SocketException((int)SocketError.AddressNotAvailable); } else { port = serverEP.Port; } var l2capEp = new BluezL2capEndPoint(serverEP.Address, port); return(l2capEp); }
//---- #region Create & Serialize methods #region Create & Serialize methods public override EndPoint Create(SocketAddress socketAddress) { if (socketAddress.Family != AddressFamily) { throw new ArgumentException("Wrong AddressFamily."); } byte[] tmpArr; // tmpArr = BluezL2capEndPoint.CopyFromSa(socketAddress, ScnOffset, ScnLength); var tmpByte = tmpArr[0]; var psm = tmpByte; // tmpArr = BluezL2capEndPoint.CopyFromSa(socketAddress, AddrOffset, 6); // var addr = BluetoothAddress.CreateFromLittleEndian(tmpArr); var ep = new BluezL2capEndPoint(addr, psm); return(ep); }
//---- protected override BluetoothEndPoint PrepareBindEndPoint(BluetoothEndPoint serverEP) { var l2capEp = BluezL2capEndPoint.CreateBindEndPoint(serverEP); return(l2capEp); }
protected override BluetoothEndPoint PrepareBindEndPoint(BluetoothEndPoint serverEP) { Console.WriteLine("Calling BluezL2capEndPoint.CreateBindEndPoint"); return(BluezL2capEndPoint.CreateBindEndPoint(serverEP)); }
//---- protected BluetoothEndPoint PrepareConnectEndPoint(BluetoothEndPoint serverEP) { Console.WriteLine("Calling BluezL2capEndPoint.CreateConnectEndPoint"); return(BluezL2capEndPoint.CreateConnectEndPoint(serverEP)); }