#dbus #tokio #networking #wifi #api-bindings

connman

一个通过 dbus-tokiofutures 抽象 D-Bus 层的 ConnMan 库

3 个版本

0.1.3 2019年9月28日
0.1.2 2019年9月5日
0.1.1 2019年5月5日

#1019Unix API

MIT/Apache

105KB
2.5K SLoC

connman-rs

Build Status

一个使用 dbus-tokiofutures 抽象 D-Bus 层的 ConnMan API 库。

该 API 仍在开发中,可能会发生变化。

文档

用法

使用以下命令将 connman-rs 添加到您的 Cargo.toml 中:

[dependencies]
connman = "0.1"

示例

以下示例演示了如何创建一个 Manager 并列出可用的服务。

extern crate connman;
extern crate dbus;
extern crate dbus_tokio;
extern crate tokio;

use connman::Manager;
use dbus::{BusType, Connection};
use dbus_tokio::AConnection;
use tokio::reactor::Handle;
use tokio::runtime::current_thread::Runtime;

use std::rc::Rc;

fn main() {
    let mut runtime = Runtime::new().unwrap();

    let conn = Rc::new(Connection::get_private(BusType::System).unwrap());
    let aconn = Rc::new(AConnection::new(conn.clone(), Handle::default(), &mut runtime).unwrap());
    
    let manager = Manager::new(aconn);
    
    let f = manager.get_services()
        .and_then(|services| {
            for svc in services {
                // Dump service info
                println!("Found service: {:?}", svc)
            }
            Ok(())
        });
    
    runtime.block_on(f).unwrap();
}

许可证

许可协议为以下之一:

由您选择。

贡献

除非您明确声明,否则任何旨在包含在作品中的有意贡献,根据 Apache-2.0 许可证定义,将根据上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~9MB
~174K SLoC