[package] name = "bluer" version = "0.17.3" description = "BlueR: official Rust interface to the Linux Bluetooth protocol stack (BlueZ)" readme = "README.md" authors = [ "Sebastian Urban ", "BlueR contributors", "Attila Dusnoki ", "Ben Stern ", "Dejan Bosanac ", ] repository = "https://github.com/bluez/bluer" keywords = ["bluetooth", "gatt", "l2cap", "rfcomm", "mesh"] categories = ["asynchronous", "hardware-support", "os::linux-apis"] license = "BSD-2-Clause" edition = "2021" rust-version = "1.75" exclude = [ "bluetooth-numbers-database/README.md", "bluetooth-numbers-database/*.png", "bluetooth-numbers-database/*.js", "bluetooth-numbers-database/*.json", "bluetooth-numbers-database/node_modules/*", ] [features] default = [] full = ["bluetoothd", "id", "l2cap", "rfcomm", "mesh", "serde"] bluetoothd = [ "dbus", "dbus-tokio", "dbus-crossroads", "pin-project", "tokio/rt", "tokio/sync", "tokio/macros", "tokio-stream", "lazy_static", "custom_debug", "displaydoc", ] id = [] l2cap = [] rfcomm = [] mesh = ["bluetoothd"] serde = ["uuid/serde", "dep:serde"] [dependencies] dbus = { version = "0.9", features = ["futures"], optional = true } dbus-tokio = { version = "0.7", optional = true } dbus-crossroads = { version = "0.5", optional = true } futures = "0.3" pin-project = { version = "1", optional = true } tokio = { version = "1", features = ["net", "io-util"] } tokio-stream = { version = "0.1", optional = true } hex = { version = "0.4" } lazy_static = { version = "1", optional = true } uuid = { version = "1", features = ["v4"] } strum = { version = "0.26", features = ["derive"] } num-traits = "0.2" num-derive = "0.4" libc = "0.2" nix = { version = "0.29", default-features = false, features = ["ioctl"] } custom_debug = { version = "0.6", optional = true } displaydoc = { version = "0.2", optional = true } log = "0.4" serde = { version = "1", features = ["derive"], optional = true } macaddr = "1" [build-dependencies] serde = { version = "1", features = ["derive"] } serde_json = "1" uuid = "1" [dev-dependencies] tokio = { version = "1", features = [ "io-std", "io-util", "rt-multi-thread", "signal", ] } env_logger = "0.11" rand = "0.8" clap = { version = "4", features = ["derive"] } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"] [[example]] name = "discover_devices" required-features = ["bluetoothd"] doc-scrape-examples = true [[example]] name = "gatt_client" required-features = ["bluetoothd"] [[example]] name = "gatt_echo_client" required-features = ["bluetoothd"] [[example]] name = "gatt_echo_server" required-features = ["bluetoothd"] [[example]] name = "gatt_server_cb" required-features = ["bluetoothd"] [[example]] name = "gatt_server_io" required-features = ["bluetoothd"] [[example]] name = "l2cap_client" required-features = ["bluetoothd", "l2cap"] [[example]] name = "l2cap_server" required-features = ["bluetoothd", "l2cap"] [[example]] name = "le_advertise" required-features = ["bluetoothd"] [[example]] name = "list_adapters" required-features = ["bluetoothd"] # [[example]] # name = "mesh_sensor_server" # required-features = ["mesh"] # # [[example]] # name = "mesh_sensor_client" # required-features = ["mesh"] # # [[example]] # name = "mesh_provisioner" # required-features = ["mesh"] [[example]] name = "le_passive_scan" required-features = ["bluetoothd"] [[example]] name = "rfcomm_client" required-features = ["bluetoothd", "rfcomm"] [[example]] name = "rfcomm_server" required-features = ["bluetoothd", "rfcomm"]