kml-parser 0.1.1

K(refting) M(ulti) L(anguage) Parser
Documentation
include!(concat!(env!("OUT_DIR"), "/read_bindings.rs"));

use std::ffi::{CString, CStr};

#[allow(unused)]
pub fn kml_file_validate(filename: &str) -> bool {
    let c_filename = CString::new(filename).expect(&format!("Failed to Convert String {} to CString.", filename));
    unsafe { validate_kml_file(c_filename.into_raw()) }
}

#[allow(unused)]
pub fn kml_file_read(filename: &str) -> String {
    let c_filename = CString::new(filename).expect(&format!("Failed to Convert String {} to CString.", filename));
    let c_str = unsafe { read_kml_file(c_filename.into_raw()) };
    unsafe { CStr::from_ptr(c_str).to_string_lossy().into_owned() }
}

#[allow(unused)]
pub fn kml_name_read(filename: &str) -> String {
    let c_filename = CString::new(filename).expect(&format!("Failed to Convert String {} to CString.", filename));
    let c_str = unsafe { read_kml_name(c_filename.into_raw()) };
    unsafe { CStr::from_ptr(c_str).to_string_lossy().into_owned() }
}

#[allow(unused)]
pub fn kml_version_read(filename: &str) -> f32 {
    let c_filename = CString::new(filename).expect(&format!("Failed to Convert String {} to CString.", filename));
    let version = unsafe { read_kml_version(c_filename.into_raw()) };
    version
}

#[allow(unused)]
pub fn kml_author_read(filename: &str) -> String {
    let c_filename = CString::new(filename).expect(&format!("Failed to Convert String {} to CString.", filename));
    let c_str = unsafe { read_kml_author(c_filename.into_raw()) };
    unsafe { CStr::from_ptr(c_str).to_string_lossy().into_owned() }
}

#[allow(unused)]
pub fn kml_description_read(filename: &str) -> String {
    let c_filename = CString::new(filename).expect(&format!("Failed to Convert String {} to CString.", filename));
    let c_str = unsafe { read_kml_description(c_filename.into_raw()) };
    unsafe { CStr::from_ptr(c_str).to_string_lossy().into_owned() }
}

#[allow(unused)]
pub fn kml_size_read(filename: &str) -> f32 {
    let c_filename = CString::new(filename).expect(&format!("Failed to Convert String {} to CString.", filename));
    let size = unsafe { read_kml_size(c_filename.into_raw()) };
    size
}