Added ufbx warper
This commit is contained in:
55
src/Tools/Ghost.NativeWrapperGen/Model/NativeLibrary.cs
Normal file
55
src/Tools/Ghost.NativeWrapperGen/Model/NativeLibrary.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
namespace Ghost.NativeWrapperGen.Model;
|
||||
|
||||
public sealed class NativeLibrary
|
||||
{
|
||||
public required string NativeNamespace { get; init; }
|
||||
public required IReadOnlyList<NativeStruct> Structs { get; init; }
|
||||
public required IReadOnlyList<NativeEnum> Enums { get; init; }
|
||||
public required IReadOnlyList<NativeFunction> Functions { get; init; }
|
||||
public required IReadOnlyDictionary<string, NativeStruct> StructsByName { get; init; }
|
||||
public required IReadOnlyDictionary<string, NativeFunction> FunctionsByName { get; init; }
|
||||
}
|
||||
|
||||
public sealed class NativeStruct
|
||||
{
|
||||
public required string Name { get; init; }
|
||||
public required string Namespace { get; init; }
|
||||
public required IReadOnlyList<NativeMember> Members { get; init; }
|
||||
public required bool IsList { get; init; }
|
||||
public required bool IsPointerList { get; init; }
|
||||
public string? ListElementType { get; init; }
|
||||
public required bool IsElementLike { get; init; }
|
||||
}
|
||||
|
||||
public sealed class NativeEnum
|
||||
{
|
||||
public required string Name { get; init; }
|
||||
public required IReadOnlyList<string> Members { get; init; }
|
||||
}
|
||||
|
||||
public sealed class NativeFunction
|
||||
{
|
||||
public required string Name { get; init; }
|
||||
public required string ReturnType { get; init; }
|
||||
public required IReadOnlyList<NativeParameter> Parameters { get; init; }
|
||||
public required bool IsDllImport { get; init; }
|
||||
}
|
||||
|
||||
public sealed class NativeParameter
|
||||
{
|
||||
public required string Name { get; init; }
|
||||
public required string TypeName { get; init; }
|
||||
}
|
||||
|
||||
public sealed class NativeMember
|
||||
{
|
||||
public required string Name { get; init; }
|
||||
public required string TypeName { get; init; }
|
||||
public required NativeMemberKind Kind { get; init; }
|
||||
}
|
||||
|
||||
public enum NativeMemberKind
|
||||
{
|
||||
Field,
|
||||
Property,
|
||||
}
|
||||
Reference in New Issue
Block a user