const KORDOPHONE_XML: &str = "../kordophoned/include/net.buzzert.kordophonecd.Server.xml";

#[cfg(not(target_os = "linux"))]
fn main() {
    // No D-Bus codegen on non-Linux platforms
}

#[cfg(target_os = "linux")]
fn main() {
    let out_dir = std::env::var("OUT_DIR").unwrap();
    let out_path = std::path::Path::new(&out_dir).join("kordophone-client.rs");

    let opts = dbus_codegen::GenOpts {
        connectiontype: dbus_codegen::ConnectionType::Blocking,
        methodtype: None,
        ..Default::default()
    };

    let xml = std::fs::read_to_string(KORDOPHONE_XML).expect("Error reading server dbus interface");

    let output =
        dbus_codegen::generate(&xml, &opts).expect("Error generating client dbus interface");

    std::fs::write(out_path, output).expect("Error writing client dbus code");

    println!("cargo:rerun-if-changed={}", KORDOPHONE_XML);
}
