Пример #1
0
JNIEXPORT jint JNICALL Java_com_jsoftware_j_JInterface_callJNative
  (JNIEnv * env, jobject obj, jlong inst, jstring js) {
	LOGD("callJNative");
	J jengine = (J)inst;

	const char *nativeString = (*env)->GetStringUTFChars(env, js, 0);
	int jc = JDo(jengine,(C*)nativeString);
	return (jint) jc;
}
Пример #2
0
JNIEXPORT jint JNICALL Java_org_dykman_j_JInterface_callJNative
  (JNIEnv * env, jobject obj, jlong inst, jstring js) {
	J jengine = (J)inst;
	local_jnienv = env;
	local_baseobj = obj;
	local_class = (*env)->GetObjectClass(env,obj);
	const char *nativeString = (*env)->GetStringUTFChars(env, js, 0);
	int jc = JDo(jengine,(C*)nativeString);
	return (jint) jc;
}
Пример #3
0
void run(void* jt)
{
 I r,n,len;A a;SOCKBUF* pb;static C setname[nsz+1]="";
 while(1)
 {
  pb=getdata();
  if(!pb) errorm("run getdata failed");
  len = pb->len;
  switch(pb->cmd)
  {
	case JCMDDO:
		if(pb->type==1) /* input and event data */
		{
			seteventdata();
			len=strlen(pb->d);
		}
		if(len<sizeof(input)-1)
		{
			memcpy(input, pb->d, len);
			input[len]=0;
			r=JDo(jt,input);
		}
		else
			r=EVLENGTH;
		putdata(JCMDDOZ,r,0,0,0,0);
		break;
	case JCMDSETN:
		n=len<nsz?len:nsz;
		memcpy(setname, pb->d, n);
		setname[n]=0;
		break;			
	case JCMDSET:
		r=JSetA(jt,strlen(setname),setname,len,pb->d);
		putdata(JCMDSETZ,r,0,0,0,0);
		break;
	case JCMDGET:
		a=JGetA(jt,len,pb->d);
		if(a==0)
			putdata(JCMDGETZ,EVVALUE,0,0,0,0);
		else
			putdata(JCMDGETZ,0,AN(a),CAV(a),0,0);
		break;
	default:
		errorm("unknown command");
  }
 }
}