public Form1() { InitializeComponent(); bwa = new InTheHand.Net.Bluetooth.BluetoothWin32Authentication(new EventHandler <InTheHand.Net.Bluetooth.BluetoothWin32AuthenticationEventArgs>(AuthHandler)); InTheHand.Net.Bluetooth.BluetoothRadio.PrimaryRadio.Name = "Something Snazzy"; }
void Win32AuthCallback__(EventHandler <BluetoothWin32AuthenticationEventArgs> handler) { console.WriteLine("Making PC discoverable"); InTheHand.Net.Bluetooth.BluetoothRadio radio = InTheHand.Net.Bluetooth.BluetoothRadio.PrimaryRadio; InTheHand.Net.Bluetooth.RadioMode origRadioMode = radio.Mode; radio.Mode = InTheHand.Net.Bluetooth.RadioMode.Discoverable; // using (InTheHand.Net.Bluetooth.BluetoothWin32Authentication auther = new InTheHand.Net.Bluetooth.BluetoothWin32Authentication(handler)) { console.Pause("Continue to stop authenticating>"); } radio.Mode = origRadioMode; }
public void Win32AuthCallbackInduceFinalisationFault() { console.WriteLine("Authenticate a device two times"); console.WriteLine("Making PC discoverable"); InTheHand.Net.Bluetooth.BluetoothRadio radio = InTheHand.Net.Bluetooth.BluetoothRadio.PrimaryRadio; InTheHand.Net.Bluetooth.RadioMode origRadioMode = radio.Mode; radio.Mode = InTheHand.Net.Bluetooth.RadioMode.Discoverable; // Object auther; auther = new InTheHand.Net.Bluetooth.BluetoothWin32Authentication(Win32AuthCallbackTwoSeparateAuthenticationsHandler); console.Pause("Continue to clear and GC"); auther = "foo"; GC.Collect(); console.Pause("Continue to complete"); radio.Mode = origRadioMode; }
internal BluetoothMonitor() { if (!InTheHand.Net.Bluetooth.BluetoothRadio.IsSupported) { throw new PlatformNotSupportedException("Bluetooth Radio not detected"); } //make device discoverable, store old mode to restore afterwards previousMode = InTheHand.Net.Bluetooth.BluetoothRadio.PrimaryRadio.Mode; InTheHand.Net.Bluetooth.BluetoothRadio.PrimaryRadio.Mode = RadioMode.Discoverable; //client provides discovery services client = new BluetoothClient(); authentication = new BluetoothWin32Authentication(new EventHandler<BluetoothWin32AuthenticationEventArgs>(AuthenticationHandler)); }
public void SetPin(BluetoothAddress device, string pin) { #if WinXP if (pin != null) { m_authenticator = new BluetoothWin32Authentication(device, pin); } else { if (m_authenticator != null) { m_authenticator.Dispose(); } } #else byte[] link = new byte[32]; //copy remote device address if (device != null) { Buffer.BlockCopy(device.ToByteArray(), 0, link, 8, 6); } //copy PIN if (pin != null & pin.Length > 0) { if (pin.Length > 16) { throw new ArgumentOutOfRangeException("PIN must be between 1 and 16 ASCII characters"); } //copy pin bytes byte[] pinbytes = System.Text.Encoding.ASCII.GetBytes(pin); Buffer.BlockCopy(pinbytes, 0, link, 16, pin.Length); BitConverter.GetBytes(pin.Length).CopyTo(link, 0); } m_socket.SetSocketOption(BluetoothSocketOptionLevel.RFComm, BluetoothSocketOptionName.SetPin, link); #endif }