Roku client library written in Rust
- Device discovery
- Remote controls via ecp library
connection: Option<Connection>
ipv4: String
port: i32
name: String
network: NetworkType
mac_wol: Option<[u8; 6]>
mac_wlan: Option<[u8; 6]>
mac_eth: Option<[u8; 6]>
power_state: PowerState
fn new(ipv4: &str, port: i32) -> Device
Constructorasync fn connect(&mut self, key: Vec<u8>) -> bool
Open an ECP connection and authenticate, returning auth resultasync fn send_request(&mut self, request: Request) -> Option<Response>
Send an ECP request to the device & return responsefn launch_app_by_id(app: &App) : Result<bool, String>
Launches an app of specified idasync fn update_self(&mut self)
Forces the device to fetch its most recent info
fn is_connected(&self) -> bool
Whether or not the device is connectedfn get_info() : Result<HashMap<String, String>, String>
Return parsed device infofn get_power_state() : POWERSTATE
Get device power statefn get_installed_apps() : Result<Vec<App>, String>
Return a Vec of installed apps
id: i32
apptype: String
version: String,
name: String,
icon: Option<Vec<u8>>
fetch_icon() : Result<Vec<u8>, String>
Fetches the icon from the device for this app