Exemplo n.º 1
0
 private void KeepDefaultAdapterAndRegisterForSignals()
 {
     _liveDiscoAdapterHack                  = GetDefaultAdapter();
     _liveDiscoAdapterHack.DeviceFound     += adapter_DeviceFound;
     _liveDiscoAdapterHack.PropertyChanged += _registeredAdapter_PropertyChanged;
     Console.WriteLine("Now Registered2");
 }
Exemplo n.º 2
0
        internal BluezDbusInterface.Device FindDevice_OnDefaultAdapter(
            BluetoothAddress address, out ObjectPath objectPath,
            out BluezDbusInterface.Adapter a)
        {
            a = GetDefaultAdapter();
            var addrStrIn = FromBluetoothAddress(address);

            Console.WriteLine("gonna FindDevice");
            ObjectPath devicePath;

            try {
                devicePath = a.FindDevice(addrStrIn);
            } catch (Exception ex) {
                Console.WriteLine("GetDevice_ error: " + ex.Message);
                Debug.Assert(ex.Message.StartsWith("org.bluez.Error.DoesNotExist:"),
                             "Unexected exception type: " + ex);
                if (ex.Message.StartsWith("org.bluez.Error.DoesNotExist:", StringComparison.OrdinalIgnoreCase))
                {
                    objectPath = null;
                    return(null);
                }
                else
                {
                    throw;
                }
            }
            objectPath = devicePath;
            Console.WriteLine("gonna Get {0}", devicePath);
            var d = FactoryBus.GetObject <BluezDbusInterface.Device>(Service, devicePath);

            return(d);
        }
Exemplo n.º 3
0
        private static ObjectPath[] GetDevices(BluezDbusInterface.Adapter a)
        {
#if false
            var inList = GetProperty <DbusPropertyDictionary>(a, "Devices");
#else
            var dictTmp = a.GetProperties();
            //Console.WriteLine("dictTmp is type: " + dictTmp.GetType().FullName);
            //Console.WriteLine("dictTmp is type: " + dictTmp.GetType().Name);
            var tmp = dictTmp["Devices"];
            //Console.WriteLine("Property Value is type: " + tmp.GetType().Name);
            var inList = (ObjectPath[])tmp;
#endif
            return(inList);
        }
Exemplo n.º 4
0
        //----
        internal BluezRadio(BluezFactory fcty, int dd)
        {
            _dd = dd;
            Debug.Assert(fcty != null, "ArgNull");
            _fcty = fcty;
            BluezError ret;
            var        bdaddr = BluezUtils.FromBluetoothAddress(BluetoothAddress.None);

            ret = NativeMethods.hci_read_bd_addr(_dd, bdaddr, _fcty.StackTimeout);
            //TODO BluezUtils.CheckAndThrow(ret, "hci_read_bd_addr");
            BluezUtils.Assert(ret, "hci_read_bd_addr");
            if (BluezUtils.IsSuccess(ret))
            {
                _addr = BluezUtils.ToBluetoothAddress(bdaddr);
                Console.WriteLine("Radio SUCCESS, addr: " + _addr);
            }
            else
            {
                // NEVER used EXCEPT in the debugger if we skip the CheckandThrow above.
                _addr = BluetoothAddress.None;
                Console.WriteLine("Radio FAIL, addr: " + _addr);
            }
            _nameTmp = new byte[250];
            //
            // First find _objectPath. In the future we'll be passed this.
            var ax = _fcty.BluezDbus.FindAdapter(_addr, out _objectPath);

            Debug.Assert(_objectPath != null, "BluezRadio..ctor NOT _objectPath!=null");
            //--
            // Set Adapter.
            _adapter = GetAdapter(_objectPath);
            Console.WriteLine("Got adapter at .ctor.3.");
            //
            var    prop   = GetProperties();
            string addrDt = (string)prop[PropertyName.Address];
            var    addrD  = BluetoothAddress.Parse(addrDt);

            Utils.MiscUtils.AssertEquals(addrD, _addr);
            Console.WriteLine("Check DONE Radio..ctor. " + addrD + " vs " + _addr);
        }