auv-driver-linux 0.0.22

Linux driver for AUV
use auv_driver_common::error::{DriverError, DriverResult};
use auv_driver_common::geometry::Rect;
use auv_driver_common::window::Window;

#[derive(Clone, Debug, PartialEq)]
pub struct Node {
  pub depth: usize,
  pub path: String,
  pub role: String,
  pub name: String,
  pub description: String,
  pub accessible_id: String,
  pub value: Option<String>,
  pub focused: bool,
  pub bounds: Rect,
}

#[derive(Clone, Debug, PartialEq)]
pub struct TreeSnapshot {
  pub window_ref: String,
  pub nodes: Vec<Node>,
}

#[derive(Clone, Debug, PartialEq, Eq)]
pub struct ActionResult {
  pub action_name: String,
}

#[derive(Clone, Debug, PartialEq, Eq)]
pub struct FocusResult {
  pub fallback_reason: Option<String>,
}

pub fn snapshot_window(_window: &Window) -> DriverResult<TreeSnapshot> {
  Err(DriverError::unsupported("window.capture_ax_tree"))
}

pub fn focus_window(_window: &Window) -> DriverResult<()> {
  Err(DriverError::unsupported("accessibility.focus_node"))
}

pub fn focus_node(_window: &Window, _node_path: &str) -> DriverResult<FocusResult> {
  Err(DriverError::unsupported("accessibility.focus_node"))
}

pub fn select_node(_window: &Window, _node_path: &str) -> DriverResult<ActionResult> {
  Err(DriverError::unsupported("accessibility.select_node"))
}