MonoInit.h 680 B

123456789101112131415161718192021222324252627282930
  1. // Copyright: All Rights Reserved
  2. // Author: egametang@gmail.com (tanghai)
  3. #ifndef MONO_MONOINIT_H
  4. #define MONO_MONOINIT_H
  5. #include <string>
  6. #include <unordered_map>
  7. #include <mono/jit/jit.h>
  8. #include <mono/metadata/assembly.h>
  9. namespace Egametang {
  10. class MonoInit
  11. {
  12. private:
  13. MonoDomain *domain;
  14. std::unordered_map<std::string, MonoImage*> imageMap;
  15. public:
  16. MonoInit(const std::string& domainName);
  17. virtual ~MonoInit();
  18. void LoadAssembly(const std::string& assemblyName);
  19. void InvokeMethod(const std::string& className, const std::string& functionName);
  20. void InvokeMain(const char *file, int argc, char** argv);
  21. };
  22. } // namespace Egametang
  23. #endif // MONO_MONOINIT_H