BsMonoPrerequisites.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsPrerequisites.h"
  5. #if (BS_PLATFORM == BS_PLATFORM_WIN32) && !defined(__MINGW32__)
  6. # ifdef BS_MONO_EXPORTS
  7. # define BS_MONO_EXPORT __declspec(dllexport)
  8. # else
  9. # if defined( __MINGW32__ )
  10. # define BS_MONO_EXPORT
  11. # else
  12. # define BS_MONO_EXPORT __declspec(dllimport)
  13. # endif
  14. # endif
  15. #elif defined ( BS_GCC_VISIBILITY )
  16. # define BS_MONO_EXPORT __attribute__ ((visibility("default")))
  17. #else
  18. # define BS_MONO_EXPORT
  19. #endif
  20. /** @addtogroup Plugins
  21. * @{
  22. */
  23. /** @defgroup Mono BansheeMono
  24. * Scripting language backend using Mono's CLR.
  25. */
  26. /** @} */
  27. namespace BansheeEngine
  28. {
  29. class MonoManager;
  30. class MonoAssembly;
  31. class MonoClass;
  32. class MonoMethod;
  33. class MonoField;
  34. class MonoProperty;
  35. /** A list of all valid Mono primitive types. */
  36. enum class MonoPrimitiveType
  37. {
  38. Boolean,
  39. Char,
  40. I8,
  41. U8,
  42. I16,
  43. U16,
  44. I32,
  45. U32,
  46. I64,
  47. U64,
  48. R32,
  49. R64,
  50. String,
  51. ValueType,
  52. Class,
  53. Array,
  54. Generic,
  55. Unknown
  56. };
  57. }
  58. typedef struct _MonoClass MonoClass;
  59. typedef struct _MonoDomain MonoDomain;
  60. typedef struct _MonoImage MonoImage;
  61. typedef struct _MonoAssembly MonoAssembly;
  62. typedef struct _MonoMethod MonoMethod;
  63. typedef struct _MonoProperty MonoProperty;
  64. typedef struct _MonoObject MonoObject;
  65. typedef struct _MonoString MonoString;
  66. typedef struct _MonoArray MonoArray;
  67. typedef struct _MonoReflectionType MonoReflectionType;
  68. typedef struct _MonoException MonoException;
  69. typedef struct _MonoClassField MonoClassField;