#ifndef SIMGRID_JAVA_JAVA_CONTEXT_HPP
#define SIMGRID_JAVA_JAVA_CONTEXT_HPP
+#include <functional>
+
#include <jni.h>
#include <xbt/misc.h>
#include <simgrid/simix.h>
#include <xbt/xbt_os_thread.h>
-#include "src/simix/smx_private.hpp"
+#include "src/simix/smx_private.h"
#include "jmsg.h"
#include "jmsg_process.h"
xbt_os_sem_t end = nullptr;
public:
friend class JavaContextFactory;
- JavaContext(xbt_main_func_t code,
- int argc, char **argv,
+ JavaContext(std::function<void()> code,
void_pfn_smxprocess_t cleanup_func,
smx_process_t process);
~JavaContext() override;
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<void()> code,
+ void_pfn_smxprocess_t, smx_process_t process) override;
void run_all() override;
};