X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ee6ffc12bf5523e4d2d2193138c791d991ec0ae4..7b138f8b1ed3e8816eda5cb26deb71fe81b4087a:/src/bindings/java/JavaContext.hpp diff --git a/src/bindings/java/JavaContext.hpp b/src/bindings/java/JavaContext.hpp index fbad8821dd..9a07ff8d7e 100644 --- a/src/bindings/java/JavaContext.hpp +++ b/src/bindings/java/JavaContext.hpp @@ -7,13 +7,15 @@ #ifndef SIMGRID_JAVA_JAVA_CONTEXT_HPP #define SIMGRID_JAVA_JAVA_CONTEXT_HPP +#include + #include #include #include #include -#include "src/simix/smx_private.hpp" +#include "src/simix/smx_private.h" #include "jmsg.h" #include "jmsg_process.h" @@ -27,18 +29,17 @@ class JavacontextFactory; class JavaContext : public simgrid::simix::Context { public: // The java process instance bound with the msg process structure: - jobject jprocess; + jobject jprocess = nullptr; // JNI interface pointer associated to this thread: - JNIEnv *jenv; - xbt_os_thread_t thread; + JNIEnv *jenv = nullptr; + xbt_os_thread_t thread = nullptr; // Sempahore used to schedule/yield the process: - xbt_os_sem_t begin; + xbt_os_sem_t begin = nullptr; // Semaphore used to schedule/unschedule the process: - xbt_os_sem_t end; + xbt_os_sem_t end = nullptr; public: friend class JavaContextFactory; - JavaContext(xbt_main_func_t code, - int argc, char **argv, + JavaContext(std::function code, void_pfn_smxprocess_t cleanup_func, smx_process_t process); ~JavaContext() override; @@ -54,14 +55,13 @@ public: JavaContextFactory(); ~JavaContextFactory() override; JavaContext* self() override; - JavaContext* create_context( - xbt_main_func_t, int, char **, void_pfn_smxprocess_t, - smx_process_t process - ) override; + JavaContext* create_context(std::function code, + void_pfn_smxprocess_t, smx_process_t process) override; void run_all() override; }; XBT_PRIVATE simgrid::simix::ContextFactory* java_factory(); +XBT_PRIVATE void java_main_jprocess(jobject process); } }