3using System.Runtime.InteropServices;
5using UndreamAI.LlamaLib;
9 public class IL2CPP_Logging
11 private static Action<string> onLogging;
12 private static LlamaLib.CharArrayCallback nativeLoggingThunk;
14 public static void LoggingCallback(Action<string> callback)
17 if (nativeLoggingThunk ==
null)
19 nativeLoggingThunk = LoggingThunkImpl;
20 LlamaLib.LoggingCallback(nativeLoggingThunk);
24 [MonoPInvokeCallback(typeof(LlamaLib.CharArrayCallback))]
25 private static void LoggingThunkImpl(IntPtr msg)
27 if (onLogging ==
null || msg == IntPtr.Zero)
31 onLogging(Marshal.PtrToStringUTF8(msg));
37 public class IL2CPP_Completion
39 private static Action<string> onCompletion;
40 private static LlamaLib.CharArrayCallback nativeCompletionThunk;
42 public static LlamaLib.CharArrayCallback CreateCallback(Action<string> callback)
44 onCompletion = callback;
45 if (nativeCompletionThunk ==
null)
47 nativeCompletionThunk = CompletionThunkImpl;
49 return nativeCompletionThunk;
52 [MonoPInvokeCallback(typeof(LlamaLib.CharArrayCallback))]
53 private static void CompletionThunkImpl(IntPtr msg)
55 if (onCompletion ==
null || msg == IntPtr.Zero)
59 onCompletion(Marshal.PtrToStringUTF8(msg));