[−][src]Crate rustbus
Rustbus
Rustbus is a dbus library that allows for RPC on services on the bus or to implement your own service that listens on the bus. There are some examples in the src/bin directory but the gist is:
use rustbus::{get_session_bus_path, standard_messages, Conn, Container, params::DictMap, MessageBuilder}; fn main() -> Result<(), rustbus::client_conn::Error> { // Connect to the session bus let session_path = get_session_bus_path()?; let con = Conn::connect_to_bus(session_path, true)?; // Wrap the con in an RpcConnection which provides many convenient functions let mut rpc_con = rustbus::client_conn::RpcConn::new(con); // send the obligatory hello message rpc_con.send_message(&mut standard_messages::hello(), None)?; // Request a bus name if you want to rpc_con.send_message(&mut standard_messages::request_name( "io.killing.spark".into(), 0, ), None)?; // send a signal to all bus members let mut sig = MessageBuilder::new() .signal( "io.killing.spark".into(), "TestSignal".into(), "/io/killing/spark".into(), ) .with_params(vec![ Container::Struct(vec![162254319i32.into(), "AABB".to_owned().into()]).into(), ]) .build(); rpc_con.send_message(&mut sig, None)?; Ok(()) }
Re-exports
pub use client_conn::get_session_bus_path; |
pub use client_conn::get_system_bus_path; |
pub use client_conn::Conn; |
pub use client_conn::RpcConn; |
pub use message::Message; |
pub use message::MessageType; |
pub use message_builder::CallBuilder; |
pub use message_builder::MessageBuilder; |
pub use message_builder::SignalBuilder; |
Modules
auth | |
client_conn | The connection stuff you probably want to use. Conn is the lowlevel abstraction RpcConn is the higher level wrapper with convenience functions over the Conn struct. |
message | lowlevel message stuff |
message_builder | Helps in building messages conveniently |
params | |
signature | |
standard_messages | Some standard messages that are often needed |
wire |
Enums
Base | The base types a message can have as parameters
There are From |
Container | The container types a message can have as parameters |
Param | The Types a message can have as parameters
There are From |