示例#1
0
JNIEXPORT jboolean JNICALL jni_freerdp_send_clipboard_data(JNIEnv *env, jclass cls, jint instance, jstring jdata)
{
	ANDROID_EVENT* event;
	freerdp* inst = (freerdp*)instance;
	const jbyte *data = jdata != NULL ? (*env)->GetStringUTFChars(env, jdata, NULL) : NULL;
	int data_length = data ? strlen(data) : 0;      
	jboolean ret = JNI_FALSE;;

	event = (ANDROID_EVENT*) android_event_clipboard_new((void*)data, data_length);
	if (!event)
		goto out_fail;

	if (!android_push_event(inst, event))
	{
		android_event_clipboard_free((ANDROID_EVENT_CLIPBOARD *)event);
		goto out_fail;
	}

	DEBUG_ANDROID("send_clipboard_data: (%s)", data);

	ret = JNI_TRUE;
out_fail:
	if (data)
		(*env)->ReleaseStringUTFChars(env, jdata, data);
	return ret;
}
示例#2
0
JNIEXPORT void JNICALL jni_freerdp_send_clipboard_data(JNIEnv *env, jclass cls, jint instance, jstring jdata)
{
	ANDROID_EVENT* event;
	freerdp* inst = (freerdp*)instance;
	const jbyte *data = jdata != NULL ? (*env)->GetStringUTFChars(env, jdata, NULL) : NULL;
	int data_length = data ? strlen(data) : 0;      

	event = (ANDROID_EVENT*) android_event_clipboard_new((void*)data, data_length);
	android_push_event(inst, event);

	DEBUG_ANDROID("send_clipboard_data: (%s)", data);

	if (data)
		(*env)->ReleaseStringUTFChars(env, jdata, data);
}