Implement IMetadata

This commit is contained in:
Lauro Oyen
2024-10-29 12:23:56 +01:00
parent 7deb377f78
commit 6612431e0a
3 changed files with 95 additions and 8 deletions

View File

@ -6,6 +6,13 @@ use std::ffi::{c_char, c_int, c_void};
// Based on Slang version 2024.14.3
#[repr(C)]
pub struct ICastableVtable {
pub _base: ISlangUnknown__bindgen_vtable,
pub castAs: unsafe extern "C" fn(*mut c_void, guid: *const SlangUUID) -> *mut c_void,
}
#[repr(C)]
pub struct IBlobVtable {
pub _base: ISlangUnknown__bindgen_vtable,
@ -72,6 +79,13 @@ pub struct ISessionVtable {
pub loadModuleFromSourceString: unsafe extern "C" fn(*mut c_void, moduleName: *const c_char, path: *const c_char, string: *const c_char, outDiagnostics: *mut *mut ISlangBlob) -> *mut slang_IModule,
}
#[repr(C)]
pub struct IMetadataVtable {
pub _base: ICastableVtable,
pub isParameterLocationUsed: unsafe extern "C" fn(*mut c_void, category: SlangParameterCategory, spaceIndex: SlangUInt, registerIndex: SlangUInt, outUsed: *mut bool) -> SlangResult,
}
#[repr(C)]
pub struct IComponentTypeVtable {
pub _base: ISlangUnknown__bindgen_vtable,