btmgmt

Crates.iobtmgmt
lib.rsbtmgmt
version0.3.0-alpha.4
sourcesrc
created_at2020-11-29 03:07:21.911351
updated_at2021-12-09 02:31:57.365026
descriptionLinux Management API Client
homepage
repositoryhttps://github.com/yskszk63/btmgmt
max_upload_size
id317648
size45,483
yusuke suzuki (yskszk63)

documentation

README

btmgmt

Linux bluetooth mgmt API client.

see bluez docs/mgmt-api.txt

Dependencies

[dependencies]
btmgmt = "0.3.0-alpha.4"

Example

use btmgmt::Client;
use btmgmt::command::ReadManagementSupportedCommands;
use futures::StreamExt;

#[tokio::main(flavor = "current_thread")]
async fn main() {
    // (management client, run loop handle)
    let client = Client::open().unwrap();

    let mut events = client.events().await;
    tokio::spawn(async move {
        while let Some((index, event)) = events.next().await {
            match event {
                // do staff
            }
        }
    });

    let reply = client.call(None, ReadManagementSupportedCommands).await.unwrap();
    for command in reply.commands() {
        // do stuff
    }
    for event in reply.events() {
        // do stuff
    }
}

Command line client

$ cargo install btmgmt-cli
...
$ btmgmt-cli version
1.18
$

Many operations require privileges.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.!

License: MIT OR Apache-2.0

Commit count: 44

cargo fmt