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

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

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

    let opts = dbus_codegen::GenOpts {
        connectiontype: dbus_codegen::ConnectionType::Nonblock,
        methodtype: None, // Set to None for crossroads
        crossroads: true,
        ..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 server dbus interface");

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

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

