pub trait CSharpWriter {
Show 47 methods // Required methods fn config(&self) -> &Config; fn inventory(&self) -> &Inventory; fn converter(&self) -> &Converter; fn overloads(&self) -> &[Box<dyn OverloadWriter>]; // Provided methods fn helper(&self) -> Helper<'_> { ... } fn write_file_header_comments( &self, w: &mut IndentWriter<'_> ) -> Result<(), Error> { ... } fn debug(&self, w: &mut IndentWriter<'_>, marker: &str) -> Result<(), Error> { ... } fn write_imports(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... } fn write_native_lib_string( &self, w: &mut IndentWriter<'_> ) -> Result<(), Error> { ... } fn write_abi_guard(&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, write_for: WriteFor ) -> Result<(), Error> { ... } fn write_documentation( &self, w: &mut IndentWriter<'_>, documentation: &Documentation ) -> Result<(), Error> { ... } fn write_function_annotation( &self, w: &mut IndentWriter<'_>, function: &Function ) -> 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_ffibool( &self, w: &mut IndentWriter<'_> ) -> Result<(), Error> { ... } fn write_type_definition_fn_pointer( &self, w: &mut IndentWriter<'_>, the_type: &FnPointerType ) -> Result<(), Error> { ... } fn write_type_definition_named_callback( &self, w: &mut IndentWriter<'_>, the_type: &NamedCallback ) -> Result<(), Error> { ... } fn write_type_definition_named_callback_body( &self, w: &mut IndentWriter<'_>, the_type: &NamedCallback ) -> Result<(), Error> { ... } fn write_type_definition_fn_pointer_annotation( &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, write_for: WriteFor ) -> Result<(), Error> { ... } fn write_type_definition_enum_variant( &self, w: &mut IndentWriter<'_>, variant: &Variant, _the_type: &EnumType, write_for: WriteFor ) -> Result<(), Error> { ... } fn write_type_definition_composite( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType ) -> Result<(), Error> { ... } fn write_type_definition_composite_annotation( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType ) -> Result<(), Error> { ... } fn write_type_definition_composite_body( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType, write_for: WriteFor ) -> Result<(), Error> { ... } fn write_type_definition_composite_body_field( &self, w: &mut IndentWriter<'_>, field: &Field, the_type: &CompositeType ) -> Result<(), Error> { ... } fn namespace_for_id(&self, id: &str) -> String { ... } fn write_namespace_context( &self, w: &mut IndentWriter<'_>, f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error> ) -> Result<(), Error> { ... } fn write_class_context( &self, class_name: &str, w: &mut IndentWriter<'_>, f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error> ) -> Result<(), Error> { ... } fn should_emit_delegate(&self) -> bool { ... } fn has_emittable_functions(&self, functions: &[Function]) -> bool { ... } fn has_emittable_constants(&self, constants: &[Constant]) -> bool { ... } fn should_emit_by_meta(&self, meta: &Meta) -> bool { ... } fn should_emit_by_type(&self, t: &CType) -> bool { ... } fn write_patterns(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... } fn write_pattern_option( &self, w: &mut IndentWriter<'_>, slice: &CompositeType ) -> Result<(), Error> { ... } fn write_pattern_slice( &self, w: &mut IndentWriter<'_>, slice: &CompositeType ) -> Result<(), Error> { ... } fn write_pattern_slice_mut( &self, w: &mut IndentWriter<'_>, slice: &CompositeType ) -> Result<(), Error> { ... } fn write_pattern_service( &self, w: &mut IndentWriter<'_>, class: &Service ) -> Result<(), Error> { ... } fn write_pattern_service_method( &self, w: &mut IndentWriter<'_>, class: &Service, function: &Function, rval: &str, fn_name: &str, write_contxt_by_ref: bool, is_ctor: bool, write_for: WriteFor ) -> Result<(), Error> { ... } fn write_builtins(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... } fn write_all(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... }
}
Expand description

Writes the C# file format, impl this trait to customize output.

Required Methods§

source

fn config(&self) -> &Config

Returns the user config.

source

fn inventory(&self) -> &Inventory

Returns the library to produce bindings for.

source

fn converter(&self) -> &Converter

source

fn overloads(&self) -> &[Box<dyn OverloadWriter>]

Provided Methods§

source

fn helper(&self) -> Helper<'_>

source

fn write_file_header_comments( &self, w: &mut IndentWriter<'_> ) -> Result<(), Error>

source

fn debug(&self, w: &mut IndentWriter<'_>, marker: &str) -> Result<(), Error>

source

fn write_imports(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

source

fn write_native_lib_string(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

source

fn write_abi_guard(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

source

fn write_constants(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

source

fn write_constant( &self, w: &mut IndentWriter<'_>, constant: &Constant ) -> Result<(), Error>

source

fn write_functions(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

source

fn write_function( &self, w: &mut IndentWriter<'_>, function: &Function, write_for: WriteFor ) -> Result<(), Error>

source

fn write_documentation( &self, w: &mut IndentWriter<'_>, documentation: &Documentation ) -> Result<(), Error>

source

fn write_function_annotation( &self, w: &mut IndentWriter<'_>, function: &Function ) -> Result<(), Error>

source

fn write_function_declaration( &self, w: &mut IndentWriter<'_>, function: &Function ) -> Result<(), Error>

source

fn write_type_definitions(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

source

fn write_type_definition( &self, w: &mut IndentWriter<'_>, the_type: &CType ) -> Result<(), Error>

source

fn write_type_definition_ffibool( &self, w: &mut IndentWriter<'_> ) -> Result<(), Error>

source

fn write_type_definition_fn_pointer( &self, w: &mut IndentWriter<'_>, the_type: &FnPointerType ) -> Result<(), Error>

source

fn write_type_definition_named_callback( &self, w: &mut IndentWriter<'_>, the_type: &NamedCallback ) -> Result<(), Error>

source

fn write_type_definition_named_callback_body( &self, w: &mut IndentWriter<'_>, the_type: &NamedCallback ) -> Result<(), Error>

source

fn write_type_definition_fn_pointer_annotation( &self, w: &mut IndentWriter<'_>, _the_type: &FnPointerType ) -> Result<(), Error>

source

fn write_type_definition_fn_pointer_body( &self, w: &mut IndentWriter<'_>, the_type: &FnPointerType ) -> Result<(), Error>

source

fn write_type_definition_enum( &self, w: &mut IndentWriter<'_>, the_type: &EnumType, write_for: WriteFor ) -> Result<(), Error>

source

fn write_type_definition_enum_variant( &self, w: &mut IndentWriter<'_>, variant: &Variant, _the_type: &EnumType, write_for: WriteFor ) -> Result<(), Error>

source

fn write_type_definition_composite( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType ) -> Result<(), Error>

source

fn write_type_definition_composite_annotation( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType ) -> Result<(), Error>

source

fn write_type_definition_composite_body( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType, write_for: WriteFor ) -> Result<(), Error>

source

fn write_type_definition_composite_body_field( &self, w: &mut IndentWriter<'_>, field: &Field, the_type: &CompositeType ) -> Result<(), Error>

source

fn namespace_for_id(&self, id: &str) -> String

source

fn write_namespace_context( &self, w: &mut IndentWriter<'_>, f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error> ) -> Result<(), Error>

source

fn write_class_context( &self, class_name: &str, w: &mut IndentWriter<'_>, f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error> ) -> Result<(), Error>

source

fn should_emit_delegate(&self) -> bool

source

fn has_emittable_functions(&self, functions: &[Function]) -> bool

source

fn has_emittable_constants(&self, constants: &[Constant]) -> bool

source

fn should_emit_by_meta(&self, meta: &Meta) -> bool

source

fn should_emit_by_type(&self, t: &CType) -> bool

source

fn write_patterns(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

source

fn write_pattern_option( &self, w: &mut IndentWriter<'_>, slice: &CompositeType ) -> Result<(), Error>

source

fn write_pattern_slice( &self, w: &mut IndentWriter<'_>, slice: &CompositeType ) -> Result<(), Error>

source

fn write_pattern_slice_mut( &self, w: &mut IndentWriter<'_>, slice: &CompositeType ) -> Result<(), Error>

source

fn write_pattern_service( &self, w: &mut IndentWriter<'_>, class: &Service ) -> Result<(), Error>

source

fn write_pattern_service_method( &self, w: &mut IndentWriter<'_>, class: &Service, function: &Function, rval: &str, fn_name: &str, write_contxt_by_ref: bool, is_ctor: bool, write_for: WriteFor ) -> Result<(), Error>

source

fn write_builtins(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

source

fn write_all(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Object Safety§

This trait is not object safe.

Implementors§