X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ee6ffc12bf5523e4d2d2193138c791d991ec0ae4..347996b4a10c4e8579080692afa60e0afb88b60a:/src/bindings/java/JavaContext.hpp diff --git a/src/bindings/java/JavaContext.hpp b/src/bindings/java/JavaContext.hpp index fbad8821dd..dfbf821cdb 100644 --- a/src/bindings/java/JavaContext.hpp +++ b/src/bindings/java/JavaContext.hpp @@ -7,6 +7,8 @@ #ifndef SIMGRID_JAVA_JAVA_CONTEXT_HPP #define SIMGRID_JAVA_JAVA_CONTEXT_HPP +#include + #include #include @@ -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); } }