Trait interoptopus_backend_c::Interop[][src]

pub trait Interop {
Show methods fn config(&self) -> &Config;
fn library(&self) -> &Library; fn type_primitive_to_typename(&self, x: &PrimitiveType) -> String { ... }
fn type_enum_to_typename(&self, x: &EnumType) -> String { ... }
fn type_opaque_to_typename(&self, opaque: &OpaqueType) -> String { ... }
fn type_composite_to_typename(&self, x: &CompositeType) -> String { ... }
fn type_fnpointer_to_typename(&self, x: &FnPointerType) -> String { ... }
fn type_to_typespecifier(&self, x: &CType) -> String { ... }
fn constant_value_to_value(&self, value: &ConstantValue) -> String { ... }
fn function_parameter_to_csharp_typename(
        &self,
        x: &Parameter,
        _function: &Function
    ) -> String { ... }
fn function_name_to_csharp_name(&self, function: &Function) -> String { ... }
fn write_to(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... }
fn write_custom_defines(
        &self,
        w: &mut IndentWriter<'_>
    ) -> Result<(), Error> { ... }
fn write_file_header_comments(
        &self,
        w: &mut IndentWriter<'_>
    ) -> Result<(), Error> { ... }
fn write_imports(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... }
fn write_constants(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... }
fn write_constant(
        &self,
        w: &mut IndentWriter<'_>,
        constant: &Constant
    ) -> Result<(), Error> { ... }
fn write_functions(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... }
fn write_function(
        &self,
        w: &mut IndentWriter<'_>,
        function: &Function
    ) -> Result<(), Error> { ... }
fn write_documentation(
        &self,
        w: &mut IndentWriter<'_>,
        documentation: &Documentation
    ) -> Result<(), Error> { ... }
fn write_function_declaration(
        &self,
        w: &mut IndentWriter<'_>,
        function: &Function
    ) -> Result<(), Error> { ... }
fn write_type_definitions(
        &self,
        w: &mut IndentWriter<'_>
    ) -> Result<(), Error> { ... }
fn write_type_definition(
        &self,
        w: &mut IndentWriter<'_>,
        the_type: &CType
    ) -> Result<(), Error> { ... }
fn write_type_definition_fn_pointer(
        &self,
        w: &mut IndentWriter<'_>,
        the_type: &FnPointerType
    ) -> Result<(), Error> { ... }
fn write_type_definition_fn_pointer_body(
        &self,
        w: &mut IndentWriter<'_>,
        the_type: &FnPointerType
    ) -> Result<(), Error> { ... }
fn write_type_definition_enum(
        &self,
        w: &mut IndentWriter<'_>,
        the_type: &EnumType
    ) -> Result<(), Error> { ... }
fn write_type_definition_enum_variant(
        &self,
        w: &mut IndentWriter<'_>,
        variant: &Variant,
        _the_type: &EnumType
    ) -> Result<(), Error> { ... }
fn write_type_definition_opaque(
        &self,
        w: &mut IndentWriter<'_>,
        the_type: &OpaqueType
    ) -> Result<(), Error> { ... }
fn write_type_definition_opaque_body(
        &self,
        w: &mut IndentWriter<'_>,
        the_type: &OpaqueType
    ) -> Result<(), Error> { ... }
fn write_type_definition_composite(
        &self,
        w: &mut IndentWriter<'_>,
        the_type: &CompositeType
    ) -> Result<(), Error> { ... }
fn write_type_definition_composite_body(
        &self,
        w: &mut IndentWriter<'_>,
        the_type: &CompositeType
    ) -> Result<(), Error> { ... }
fn write_type_definition_composite_body_field(
        &self,
        w: &mut IndentWriter<'_>,
        field: &Field,
        _the_type: &CompositeType
    ) -> Result<(), Error> { ... }
fn write_ifndef(
        &self,
        w: &mut IndentWriter<'_>,
        f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error>
    ) -> Result<(), Error> { ... }
fn write_ifdefcpp(
        &self,
        w: &mut IndentWriter<'_>,
        f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error>
    ) -> Result<(), Error> { ... }
}

Required methods

Returns the user config.

Returns the library to produce bindings for.

Provided methods

Converts a primitive (Rust) type to a native C# type name, e.g., f32 to float.

Converts a Rust enum name such as Error to a C# enum name Error.

TODO Converts an opaque Rust struct Context to a C# struct ``.

Converts an Rust struct name Vec2 to a C# struct name Vec2.

Converts an Rust fn() to a C# delegate name such as InteropDelegate.

Converts the u32 part in a Rust paramter x: u32 to a C# equivalent. Might convert pointers to out X or ref X.

Implementors