DTLib/DTLib.Dtsod/V24/Autoarr/AutoarrKVPairFunctions.cs

52 lines
2.4 KiB
C#

using System.Runtime.InteropServices;
using DTLib.Dtsod.V24.KerepTypes;
namespace DTLib.Dtsod.V24.Autoarr;
internal class AutoarrKVPairFunctions : AutoarrFunctions<KVPair>
{
[DllImport("kerep", CallingConvention = CallingConvention.Cdecl)]
static extern void kerep_Autoarr_KVPair_create(ushort max_blocks_count, ushort max_block_length, out AutoarrKVPairPtr output);
internal override AutoarrKVPairPtr Create(ushort maxBlocksCount, ushort maxBlockLength)
{
kerep_Autoarr_KVPair_create(maxBlocksCount, maxBlockLength, out var ar);
return ar;
}
[DllImport("kerep", CallingConvention = CallingConvention.Cdecl)]
internal static extern void kerep_Autoarr_KVPair_free(AutoarrKVPairPtr ar);
internal override void Free(AutoarrKVPairPtr ar) => kerep_Autoarr_KVPair_free(ar);
[DllImport("kerep", CallingConvention = CallingConvention.Cdecl)]
static extern void kerep_Autoarr_KVPair_get(AutoarrKVPairPtr ar, uint index, out KVPair output);
internal override KVPair Get(AutoarrKVPairPtr ar, uint index)
{
kerep_Autoarr_KVPair_get(ar, index, out var output);
return output;
}
[DllImport("kerep",CallingConvention = CallingConvention.Cdecl)]
internal static extern void kerep_Autoarr_KVPair_add(AutoarrKVPairPtr ar, KVPair element);
internal override void Add(AutoarrKVPairPtr ar, KVPair element) => kerep_Autoarr_KVPair_add(ar, element);
[DllImport("kerep", CallingConvention = CallingConvention.Cdecl)]
internal static extern void kerep_Autoarr_KVPair_set(AutoarrKVPairPtr ar, uint index, KVPair element);
internal override void Set(AutoarrKVPairPtr ar, uint index, KVPair element) =>
kerep_Autoarr_KVPair_set(ar, index, element);
[DllImport("kerep", CallingConvention = CallingConvention.Cdecl)]
static extern void kerep_Autoarr_KVPair_length(AutoarrKVPairPtr ar, out uint output);
internal override uint Length(AutoarrKVPairPtr ar)
{
kerep_Autoarr_KVPair_length(ar, out var l);
return l;
}
[DllImport("kerep", CallingConvention = CallingConvention.Cdecl)]
static extern void kerep_Autoarr_KVPair_max_length(AutoarrKVPairPtr ar, out uint output);
internal override uint MaxLength(AutoarrKVPairPtr ar)
{
kerep_Autoarr_KVPair_max_length(ar, out var l);
return l;
}
}