Skip to main content

codegen_discover_mapping/
codegen_discover_mapping.rs

1// Requires a live GemStone/S stone.
2//
3// Expected output includes:
4//
5// discovered mapping config:
6// mapped = BookingDraft
7
8use gemstone_rs::{codegen, Config, Session};
9
10fn main() -> codegen::Result<()> {
11    let mut session = Session::login(Config::from_env()?)?;
12    let class_ref = codegen::ClassRef::parse("Object").expect("Object is a valid class reference");
13    let output = std::env::temp_dir()
14        .join(format!(
15            "gemstone-rs-discovered-mapping-{}",
16            std::process::id()
17        ))
18        .join("gemstone_wrappers.rs");
19
20    let config = codegen::discover_mapping(&mut session, output, "BookingDraft", &class_ref)?;
21    println!(
22        "discovered mapping config:\n{}",
23        codegen::config_source(&config)
24    );
25    Ok(())
26}