# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.71"
name = "objc2-core-bluetooth"
version = "0.3.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Bindings to the CoreBluetooth framework"
readme = "README.md"
keywords = [
    "cocoa",
    "apple",
    "framework",
    "macos",
    "ios",
]
categories = [
    "api-bindings",
    "development-tools::ffi",
    "external-ffi-bindings",
    "os::macos-apis",
]
license = "Zlib OR Apache-2.0 OR MIT"
repository = "https://github.com/madsmtm/objc2"

[package.metadata.docs.rs]
default-target = "aarch64-apple-darwin"
rustc-args = [
    "--cfg",
    "docsrs",
]
targets = [
    "aarch64-apple-darwin",
    "x86_64-apple-darwin",
    "aarch64-apple-ios",
    "aarch64-apple-tvos",
    "aarch64-apple-watchos",
    "aarch64-apple-ios-macabi",
    "aarch64-apple-visionos",
]

[features]
CBATTRequest = ["objc2-foundation/NSData"]
CBAdvertisementData = ["objc2-foundation/NSString"]
CBAttribute = []
CBCentral = ["objc2-foundation/NSObject"]
CBCentralManager = [
    "bitflags",
    "objc2-foundation/NSArray",
    "objc2-foundation/NSDictionary",
    "objc2-foundation/NSError",
    "objc2-foundation/NSString",
    "objc2-foundation/NSUUID",
    "objc2-foundation/NSValue",
]
CBCentralManagerConstants = ["objc2-foundation/NSString"]
CBCharacteristic = [
    "bitflags",
    "objc2-foundation/NSArray",
    "objc2-foundation/NSData",
]
CBDefines = []
CBDescriptor = []
CBError = ["objc2-foundation/NSString"]
CBL2CAPChannel = ["objc2-foundation/NSStream"]
CBManager = []
CBPeer = [
    "objc2-foundation/NSObject",
    "objc2-foundation/NSUUID",
]
CBPeripheral = [
    "objc2-foundation/NSArray",
    "objc2-foundation/NSData",
    "objc2-foundation/NSError",
    "objc2-foundation/NSObject",
    "objc2-foundation/NSString",
    "objc2-foundation/NSValue",
]
CBPeripheralManager = [
    "objc2-foundation/NSArray",
    "objc2-foundation/NSData",
    "objc2-foundation/NSDictionary",
    "objc2-foundation/NSError",
    "objc2-foundation/NSString",
]
CBPeripheralManagerConstants = ["objc2-foundation/NSString"]
CBService = ["objc2-foundation/NSArray"]
CBUUID = [
    "objc2-foundation/NSData",
    "objc2-foundation/NSObject",
    "objc2-foundation/NSString",
    "objc2-foundation/NSUUID",
]
alloc = []
bitflags = ["dep:bitflags"]
default = [
    "std",
    "CBATTRequest",
    "CBAdvertisementData",
    "CBAttribute",
    "CBCentral",
    "CBCentralManager",
    "CBCentralManagerConstants",
    "CBCharacteristic",
    "CBDefines",
    "CBDescriptor",
    "CBError",
    "CBL2CAPChannel",
    "CBManager",
    "CBPeer",
    "CBPeripheral",
    "CBPeripheralManager",
    "CBPeripheralManagerConstants",
    "CBService",
    "CBUUID",
    "bitflags",
    "objc2-core-foundation",
]
objc2-core-foundation = ["dep:objc2-core-foundation"]
std = ["alloc"]

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

[dependencies.bitflags]
version = "2.5.0"
features = ["std"]
optional = true
default-features = false

[dependencies.objc2]
version = "0.6.0"
features = ["std"]
default-features = false

[dependencies.objc2-core-foundation]
version = "0.3.0"
features = [
    "CFDate",
    "CFUUID",
    "objc2",
]
optional = true
default-features = false

[dependencies.objc2-foundation]
version = "0.3.0"
features = ["alloc"]
default-features = false

[lints.clippy]
ptr_as_ptr = "warn"
redundant_feature_names = "allow"

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.rust]
elided_lifetimes_in_paths = "warn"
missing_copy_implementations = "warn"
non_ascii_idents = "deny"
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "deny"
