NEURON
njvm.cpp File Reference
#include <../../nrnconf.h>
#include "njconf.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jni.h>
#include <InterViews/resource.h>
#include "nrnoc2iv.h"
#include "njvm.h"

Go to the source code of this file.

Macros

#define USEJVM   2
 
#define PATH_SEPARATOR   ':'
 
#define NULL_CHECK(arg)   nrn_assert((arg))
 

Functions

static int nj_load ()
 
int convertJavaClassToHoc (JNIEnv *, const char *, const char *, const char *)
 Make a hoc equivalent to Java class (jname) calling it hname in hoc. More...
 
void nrnjava_init ()
 
static void AddOption (char *str, void *info)
 
static void PrintJavaVersion (JNIEnv *env)
 
static void myabort ()
 
static void myexit ()
 
jint myvfprintf (FILE *fp, const char *format, va_list args)
 
static void initialize_jvm2 ()
 
void nrn_InitializeJavaVM ()
 

Variables

JNIEnv * nrnjava_env
 
JNIEnv * nrnjava_root_env
 
JavaVM * nrnjava_vm
 
char * neuron_home
 
int(* p_hoc_load_java )()
 
void *(* p_java2nrn_cons )(Object *)
 
static JavaVMOption * options
 
static int numOptions
 
static int maxOptions
 

Macro Definition Documentation

◆ NULL_CHECK

#define NULL_CHECK (   arg)    nrn_assert((arg))

Definition at line 89 of file njvm.cpp.

◆ PATH_SEPARATOR

#define PATH_SEPARATOR   ':'

Definition at line 86 of file njvm.cpp.

◆ USEJVM

#define USEJVM   2

Definition at line 49 of file njvm.cpp.

Function Documentation

◆ AddOption()

static void AddOption ( char *  str,
void info 
)
static

Definition at line 138 of file njvm.cpp.

◆ convertJavaClassToHoc()

int convertJavaClassToHoc ( JNIEnv *  env,
const char *  jname,
const char *  hname,
const char *  path 
)

Make a hoc equivalent to Java class (jname) calling it hname in hoc.

Done from NrnJava.load("name") after the class is loaded with FindClass.

Definition at line 299 of file nrnjava.cpp.

◆ initialize_jvm2()

static void initialize_jvm2 ( )
static

Definition at line 273 of file njvm.cpp.

◆ myabort()

static void myabort ( )
static

Definition at line 183 of file njvm.cpp.

◆ myexit()

static void myexit ( )
static

Definition at line 188 of file njvm.cpp.

◆ myvfprintf()

jint myvfprintf ( FILE *  fp,
const char *  format,
va_list  args 
)

Definition at line 195 of file njvm.cpp.

◆ nj_load()

static int nj_load ( )
static

Definition at line 102 of file njvm.cpp.

◆ nrn_InitializeJavaVM()

void nrn_InitializeJavaVM ( )

Definition at line 335 of file njvm.cpp.

◆ nrnjava_init()

void nrnjava_init ( )

Definition at line 132 of file nrnjava.cpp.

◆ PrintJavaVersion()

static void PrintJavaVersion ( JNIEnv *  env)
static

Definition at line 172 of file njvm.cpp.

Variable Documentation

◆ maxOptions

int maxOptions
static

Definition at line 95 of file njvm.cpp.

◆ neuron_home

char* neuron_home

Definition at line 268 of file hoc_init.cpp.

◆ nrnjava_env

JNIEnv* nrnjava_env

Definition at line 59 of file njvm.cpp.

◆ nrnjava_root_env

JNIEnv* nrnjava_root_env

Definition at line 60 of file njvm.cpp.

◆ nrnjava_vm

JavaVM* nrnjava_vm

Definition at line 61 of file njvm.cpp.

◆ numOptions

int numOptions
static

Definition at line 95 of file njvm.cpp.

◆ options

JavaVMOption* options
static

Definition at line 94 of file njvm.cpp.

◆ p_hoc_load_java

int(* p_hoc_load_java) ()

Definition at line 619 of file fileio.cpp.

◆ p_java2nrn_cons

void*(* p_java2nrn_cons) (Object *)

Definition at line 22 of file hoc_oop.cpp.