NewBlue D-Bus Device API description
************************************


Device hierarchy
================

Service         org.chromium.Newblue
Interface       org.bluez.Device1
Object path     [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX

Methods         void Connect()

                This method performs GATT connection via a LE link.

                void Disconnect()

                // NOT IMPLEMENTED AS INTENDED

                // NOT IMPLEMENTED AS INTENDED
                void DisconnectProfile(string uuid)

                void Pair()

                void CancelPairing()

                // NOT IMPLEMENTED AS INTENDED
                array{array{dict}} GetServiceRecords()

                // NOT IMPLEMENTED
                void ExecuteWrite(boolean execute)

Properties      string Address [readonly]

                string Name [readonly, optional]

                string Icon [readonly, optional]

                uint32 Class [readonly, optional]

                string Type [readonly, optional]

                uint16 Appearance [readonly, optional]

                array{string} UUIDs [readonly, optional]

                boolean Paired [readonly]

                boolean Connected [readonly]

                boolean Trusted [readwrite]

                boolean Blocked [readwrite]

                string Alias [readwrite]

                object Adapter [readonly]

                boolean LegacyPairing [readonly]

                // NOT IMPLEMENTED
                string Modalias [readonly, optional]

                int16 RSSI [readonly, optional]

                int16 TxPower [readonly, optional]

                dict ManufacturerData [readonly, optional]

                dict ServiceData [readonly, optional]

                bool ServicesResolved [readonly]

                array{byte} AdvertisingFlags [readonly, experimental]

                // NOT IMPLEMENTED
                uint16 MTU [readonly, optional]

                // NOT IMPLEMENTED
                array{byte} EIR [readonly, optional]
