54个版本 (24个重大更新)
0.24.0 | 2024年8月14日 |
---|---|
0.22.0 | 2024年5月24日 |
0.21.0 | 2024年2月29日 |
0.20.0 | 2023年10月17日 |
0.3.8 | 2022年11月30日 |
#2 在 无障碍性
每月下载量120,889
在 74 个crate中(直接使用4个)
340KB
7K SLoC
AT-SPI for Rust
高级、异步、纯Rust AT-SPI2 协议实现,使用 zbus。
是 Odilia屏幕阅读器项目 的一部分。
设计
- 完全文档化,具有
#[deny(missing_docs)]
- 至少在1.0版本之前会是这样的
- 完全安全,具有
#[deny(unsafe_code)]
- 出色的代码风格,具有
#[deny(clippy:all, clippy::pedantic, clippy::cargo)]
这个crate使用zbus crate进行dbus通信。我们使用异步zbus API,因此要使用atspi,您需要运行异步执行器,例如 tokio 或 async-std。暴露了 async-io
和 tokio
功能,并将传递给zbus。
D-Bus类型验证
Atspi 用于向应用程序发送和接收数据。发送者和接收者需要就数据类型的形状达成一致,才能进行有效的通信。我们最好的选择是确保我们的类型与协议描述保持同步。
我们使用 zbus-lockstep 来将类型与 AT-SPI2 协议描述中定义的类型进行匹配。
并非所有类型都可以用 zbus_lockstep 进行验证(容易),因为类型可能不存在于协议描述中,例如,因为它们已被弃用(但仍在使用)或者我们选择了不同的表示形式。
许可证
atspi
库的许可证是 Apache 2.0 或 MIT。
依赖项
~3–16MB
~200K SLoC