30 个版本 (17 个稳定版本)
4.2.0 | 2021年12月7日 |
---|---|
4.1.0 | 2021年3月9日 |
4.0.4 | 2020年6月3日 |
4.0.3 | 2019年11月14日 |
0.3.0 | 2018年3月24日 |
#2644 in 解析器实现
每月25 次下载
在 4 个 crate 中使用 (2 个直接使用)
51KB
1.5K SLoC
varlink_parser
varlink_parser 是一个用于解析 varlink 接口定义文件的 Rust crate。
更多信息
lib.rs
:
用于解析 varlink 接口定义文件的 varlink_parser crate。
示例
use varlink_parser::IDL;
use std::convert::TryFrom;
let interface = IDL::try_from("
## The Varlink Service Interface is provided by every varlink service. It
## describes the service and the interfaces it implements.
interface org.varlink.service
## Get a list of all the interfaces a service provides and information
## about the implementation.
method GetInfo() -> (
vendor: string,
product: string,
version: string,
url: string,
interfaces: []string
)
## Get the description of an interface that is implemented by this service.
method GetInterfaceDescription(interface: string) -> (description: string)
## The requested interface was not found.
error InterfaceNotFound (interface: string)
## The requested method was not found
error MethodNotFound (method: string)
## The interface defines the requested method, but the service does not
## implement it.
error MethodNotImplemented (method: string)
## One of the passed parameters is invalid.
error InvalidParameter (parameter: string)
").unwrap();
assert_eq!(interface.name, "org.varlink.service");
依赖
~155–415KB