Attribute Macro interoptopus::ffi_service_ctor [−][src]
#[ffi_service_ctor]
This is supported on crate feature
derive
only.Expand description
Inside a #[ffi_service]
block, mark the FFI constructor.
See the service module for an introduction into services.
Requirements
For this attribute to work a number of preconditions must be fulfilled:
- The attribute must be used inside an
impl SomeType {}
block marked with#[ffi_service]
. - It must be applied to exactly one method.
- The method must return
Result<Self, Error>
.
We recommend to have a look at the reference project.
Example
use interoptopus::{ffi_type, ffi_service, ffi_service_ctor}; #[ffi_type(opaque)] pub struct SimpleService { } #[ffi_service(error = "MyFFIError", prefix = "simple_service_")] impl SimpleService { #[ffi_service_ctor] pub fn new_with(some_value: u32) -> Result<Self, Error> { Ok(Self { }) } }