// JDLLServer methods BOOL CJServer::Init(void) { LPUNKNOWN pIUnknown=this; if (NULL!=m_pUnkOuter) pIUnknown=m_pUnkOuter; m_pjst = JInit(); return m_pjst ? 1 : 0; }
int main(int argc, char* argv[]) { void *jt; void* callbacksS[] = {JoutputS, JwdS, JinputS, 0, (void*)SMSOCKET}; int sockflag=0,logflag=0; sockflag = serverinit(argc, argv); if(!sockflag){fputs("Missing connection parameters.\n", stderr); return 0;} jt = JInit(); if(!jt){fputs("Init j.dll failed.\n", stderr); return 0;} JSM(jt, callbacksS); adadbreak=(char**)jt; // first address in jt is address of breakdata signal(SIGINT,sigint); if(sockflag) run(jt); /* process socket messages to the end */ return 0; }
JNIEXPORT jlong JNICALL Java_org_dykman_j_JInterface_initializeJNative (JNIEnv * env, jobject obj) { LOGD("init called"); local_jnienv = env; local_baseobj = obj; local_class = (*env)->GetObjectClass(env,obj); outputId = 0; J j = JInit(); #ifdef ANDROID void* callbacks[] = {outputHandler,0,android_next_line,0,(void*)SMJAVA}; #else void* callbacks[] = {outputHandler,0,0,0,(void*)SMJAVA}; #endif JSM(j,callbacks); return (jlong) j; }
JNIEXPORT jlong JNICALL Java_com_jsoftware_j_JInterface_initializeJNative (JNIEnv * env, jobject obj, jboolean async) { LOGD("initializeJNative"); if (async) local_jnienv = env; local_baseobj = (*env)->NewGlobalRef(env,obj); (*env)->ExceptionClear(env); outputId = 0; J j = JInit(); #ifdef ANDROID void* callbacks[] = {outputHandler,0,android_next_line,0,(void*)SMJAVA}; #else void* callbacks[] = {outputHandler,0,0,0,(void*)SMJAVA}; #endif JSM(j,callbacks); return (jlong) j; }
JNIEXPORT jlong JNICALL Java_com_jsoftware_j_JInterface_JInit (JNIEnv * env, jobject obj, jboolean async) { LOGD("JInit"); if (async) local_jnienv = env; local_baseobj = (*env)->NewGlobalRef(env,obj); (*env)->ExceptionClear(env); outputId = 0; wdId = 0; J j = JInit(); #ifdef ANDROID void* callbacks[] = {outputHandler,wdHandler,inputHandler,0,(void*)SMWIN}; // don't use SMJAVA #else void* callbacks[] = {outputHandler,0,0,0,(void*)SMJAVA}; #endif JSM(j,callbacks); return (jlong)(intptr_t)j; }