Interpreter.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. using System.Runtime.InteropServices;
  3. namespace ET
  4. {
  5. public static class Interpreter
  6. {
  7. private const string InterpreterDll = "Interpreter";
  8. [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
  9. public delegate void Log(IntPtr buf, int len);
  10. private static Log log;
  11. [DllImport(InterpreterDll, CallingConvention = CallingConvention.Cdecl)]
  12. private static extern void interpreter_set_log(Log log);
  13. [DllImport(InterpreterDll, CallingConvention = CallingConvention.Cdecl)]
  14. private static extern void interpreter_init([In][MarshalAs(UnmanagedType.LPStr)] string reloadDir, [In][MarshalAs(UnmanagedType.LPStr)] string exeName);
  15. public static void InterpreterSetLog(Log plog)
  16. {
  17. log = plog;
  18. interpreter_set_log(log);
  19. }
  20. public static void InterpreterInit([In][MarshalAs(UnmanagedType.LPStr)]string reloadDir, [In][MarshalAs(UnmanagedType.LPStr)]string exeName)
  21. {
  22. interpreter_init(reloadDir, exeName);
  23. }
  24. }
  25. }