[package]
name = "btleplug-kuyoonjo"
version = "0.11.7"
authors = ["Nonpolynomial, LLC <kyle@nonpolynomial.com>"]
license = "MIT/Apache-2.0/BSD-3-Clause"
repository = "https://github.com/deviceplug/btleplug"
homepage = "https://github.com/deviceplug/btleplug"
edition = "2021"
description = """
A Cross-Platform Rust Bluetooth Low Energy (BLE) GATT
library.
"""
readme = "README.md"
keywords = ["bluetooth", "BLE", "bluez", "uwp", "corebluetooth"]
categories = ["hardware-support"]

[lib]
name = "btleplug"
path = "src/lib.rs"

[features]
serde = ["uuid/serde", "serde_cr", "serde_bytes"]

[dependencies]
async-trait = "0.1.83"
log = "0.4.22"
bitflags = "2.6.0"
thiserror = "2.0.9"
uuid = "1.11.0"
serde_cr = { package = "serde", version = "1.0.216", features = ["derive"], default-features = false, optional = true }
serde_bytes = { version = "0.11.15", optional = true }
dashmap = "6.1.0"
futures = "0.3.31"
static_assertions = "1.1.0"
# rt feature needed for block_on in macOS internal thread
tokio = { version = "1.42.0", features = ["sync", "rt"] }
tokio-stream = { version = "0.1.17", features = ["sync"] }

[target.'cfg(target_os = "linux")'.dependencies]
dbus = "0.9.7"
bluez-async = "0.8.0"

[target.'cfg(target_os = "android")'.dependencies]
jni = "0.19.0"
once_cell = "1.20.2"
jni-utils = "0.1.1"

[target.'cfg(target_vendor = "apple")'.dependencies]
objc2 = "0.5.2"
objc2-foundation = { version = "0.2.2", features = [
    "block2",
    "NSArray",
    "NSData",
    "NSDictionary",
    "NSEnumerator",
    "NSError",
    "NSObject",
    "NSString",
    "NSUUID",
    "NSValue",
] }
objc2-core-bluetooth = { version = "0.2.2", features = [
    "CBAdvertisementData",
    "CBAttribute",
    "CBCentralManager",
    "CBCentralManagerConstants",
    "CBCharacteristic",
    "CBDescriptor",
    "CBManager",
    "CBPeer",
    "CBPeripheral",
    "CBService",
    "CBUUID",
] }

[target.'cfg(target_os = "windows")'.dependencies]
windows = { version = "0.57.0", features = ["Devices_Bluetooth", "Devices_Bluetooth_GenericAttributeProfile", "Devices_Bluetooth_Advertisement", "Devices_Radios", "Foundation_Collections", "Foundation", "Storage_Streams"] }

[dev-dependencies]
rand = "0.8.5"
pretty_env_logger = "0.5.0"
tokio = { version = "1.42.0", features = ["macros", "rt", "rt-multi-thread"] }
serde_json = "1.0.134"
toml = "0.8.19"