Skip to content

lilopkins/com-shim-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COM Shim

Easily write interfaces that can read from COM, without worrying about the underlying functionality (unless you want to!).

Example

use com_shim::com_shim;

com_shim! {
    class GuiComponent {
        Text: String,
    }
}

com_shim! {
    class GuiVComponent {
        fn SetFocus(),
    }
}

com_shim! {
    class GuiTextField: GuiVComponent + GuiComponent {
        CaretPosition: i64,
        DisplayedText: String,
        mut Highlighted: bool,

        fn GetListProperty(String) -> GuiComponent,
    }
}

fn main() {
    // The following call now would trigger a COM call:
    // let a: GuiTextField;
    // a.get_list_property("property");
}

You can also see it implemented in the sap-scripting package.

About

Create COM interface shims for Rust.

Resources

License

Stars

Watchers

Forks

Languages