Generate native bindings from rust crate

This commit is contained in:
Guilherme Werner 2025-06-04 17:09:39 -03:00
parent 738f9c947b
commit 6ab490ce07
37 changed files with 1112 additions and 23 deletions

33
src/native/api.rs Normal file
View file

@ -0,0 +1,33 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: UNLICENSED
use std::ffi::CString;
use std::os::raw::c_char;
use tribufu::TribufuApi;
#[no_mangle]
pub extern "C" fn tribufu_api_new() {}
#[no_mangle]
pub extern "C" fn tribufu_api_default() {}
#[no_mangle]
pub extern "C" fn tribufu_api_with_api_key() {}
#[no_mangle]
pub extern "C" fn tribufu_api_from_env() {}
#[no_mangle]
pub extern "C" fn tribufu_api_from_env_or_default() {}
#[no_mangle]
pub extern "C" fn tribufu_api_get_version() -> *const c_char {
CString::new(TribufuApi::get_version()).unwrap().into_raw()
}
#[no_mangle]
pub extern "C" fn tribufu_api_get_user_agent() -> *const c_char {
CString::new(TribufuApi::get_user_agent())
.unwrap()
.into_raw()
}