mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
Merge pull request #3563 from akallabeth/android_update
Android fix warnings, visibility and formatting
This commit is contained in:
@@ -21,12 +21,16 @@
|
||||
#define __ANDROID_CLIPRDR_H__
|
||||
|
||||
#include <freerdp/client/cliprdr.h>
|
||||
#include <freerdp/api.h>
|
||||
|
||||
#include "android_freerdp.h"
|
||||
|
||||
UINT android_cliprdr_send_client_format_list(CliprdrClientContext* cliprdr);
|
||||
FREERDP_LOCAL UINT android_cliprdr_send_client_format_list(
|
||||
CliprdrClientContext* cliprdr);
|
||||
|
||||
BOOL android_cliprdr_init(androidContext* afc, CliprdrClientContext* cliprdr);
|
||||
BOOL android_cliprdr_uninit(androidContext* afc, CliprdrClientContext* cliprdr);
|
||||
FREERDP_LOCAL BOOL android_cliprdr_init(androidContext* afc,
|
||||
CliprdrClientContext* cliprdr);
|
||||
FREERDP_LOCAL BOOL android_cliprdr_uninit(androidContext* afc,
|
||||
CliprdrClientContext* cliprdr);
|
||||
|
||||
#endif /* __ANDROID_CLIPRDR_H__ */
|
||||
|
||||
@@ -233,7 +233,7 @@ static void android_event_cursor_free(ANDROID_EVENT_CURSOR* event)
|
||||
free(event);
|
||||
}
|
||||
|
||||
ANDROID_EVENT* android_event_disconnect_new()
|
||||
ANDROID_EVENT* android_event_disconnect_new(void)
|
||||
{
|
||||
ANDROID_EVENT* event;
|
||||
event = (ANDROID_EVENT*) calloc(1, sizeof(ANDROID_EVENT));
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#ifndef FREERDP_ANDROID_EVENT_H
|
||||
#define FREERDP_ANDROID_EVENT_H
|
||||
#include <freerdp/freerdp.h>
|
||||
#include <freerdp/api.h>
|
||||
|
||||
#define EVENT_TYPE_KEY 1
|
||||
#define EVENT_TYPE_CURSOR 2
|
||||
@@ -55,24 +56,27 @@ struct _ANDROID_EVENT_QUEUE
|
||||
int size;
|
||||
int count;
|
||||
HANDLE isSet;
|
||||
ANDROID_EVENT **events;
|
||||
ANDROID_EVENT** events;
|
||||
};
|
||||
typedef struct _ANDROID_EVENT_QUEUE ANDROID_EVENT_QUEUE;
|
||||
|
||||
BOOL android_push_event(freerdp * inst, ANDROID_EVENT* event);
|
||||
FREERDP_LOCAL BOOL android_push_event(freerdp* inst, ANDROID_EVENT* event);
|
||||
|
||||
HANDLE android_get_handle(freerdp* inst);
|
||||
BOOL android_check_handle(freerdp * inst);
|
||||
FREERDP_LOCAL HANDLE android_get_handle(freerdp* inst);
|
||||
FREERDP_LOCAL BOOL android_check_handle(freerdp* inst);
|
||||
|
||||
ANDROID_EVENT_KEY* android_event_key_new(int flags, UINT16 scancode);
|
||||
ANDROID_EVENT_KEY* android_event_unicodekey_new(UINT16 key);
|
||||
ANDROID_EVENT_CURSOR* android_event_cursor_new(UINT16 flags, UINT16 x, UINT16 y);
|
||||
ANDROID_EVENT* android_event_disconnect_new(void);
|
||||
ANDROID_EVENT_CLIPBOARD* android_event_clipboard_new(void* data, int data_length);
|
||||
FREERDP_LOCAL ANDROID_EVENT_KEY* android_event_key_new(int flags,
|
||||
UINT16 scancode);
|
||||
FREERDP_LOCAL ANDROID_EVENT_KEY* android_event_unicodekey_new(UINT16 key);
|
||||
FREERDP_LOCAL ANDROID_EVENT_CURSOR* android_event_cursor_new(UINT16 flags,
|
||||
UINT16 x, UINT16 y);
|
||||
FREERDP_LOCAL ANDROID_EVENT* android_event_disconnect_new(void);
|
||||
FREERDP_LOCAL ANDROID_EVENT_CLIPBOARD* android_event_clipboard_new(void* data,
|
||||
int data_length);
|
||||
|
||||
void android_event_free(ANDROID_EVENT* event);
|
||||
FREERDP_LOCAL void android_event_free(ANDROID_EVENT* event);
|
||||
|
||||
BOOL android_event_queue_init(freerdp * inst);
|
||||
void android_event_queue_uninit(freerdp * inst);
|
||||
FREERDP_LOCAL BOOL android_event_queue_init(freerdp* inst);
|
||||
FREERDP_LOCAL void android_event_queue_uninit(freerdp* inst);
|
||||
|
||||
#endif /* FREERDP_ANDROID_EVENT_H */
|
||||
|
||||
@@ -23,16 +23,14 @@
|
||||
static JavaVM* jVM;
|
||||
static jobject jLibFreeRDPObject;
|
||||
|
||||
static const char *jLibFreeRDPPath = JAVA_LIBFREERDP_CLASS;
|
||||
static const char* jLibFreeRDPPath = JAVA_LIBFREERDP_CLASS;
|
||||
|
||||
void jni_load_class(JNIEnv *env, const char *path, jobject *objptr)
|
||||
static void jni_load_class(JNIEnv* env, const char* path, jobject* objptr)
|
||||
{
|
||||
jclass class;
|
||||
jmethodID method;
|
||||
jobject object;
|
||||
|
||||
WLog_DBG(TAG, "jni_load_class: %s", path);
|
||||
|
||||
class = (*env)->FindClass(env, path);
|
||||
|
||||
if (!class)
|
||||
@@ -58,17 +56,15 @@ void jni_load_class(JNIEnv *env, const char *path, jobject *objptr)
|
||||
}
|
||||
|
||||
(*objptr) = (*env)->NewGlobalRef(env, object);
|
||||
|
||||
finish:
|
||||
while(0);
|
||||
|
||||
while (0);
|
||||
}
|
||||
|
||||
jint init_callback_environment(JavaVM* vm, JNIEnv* env)
|
||||
{
|
||||
jVM = vm;
|
||||
|
||||
jni_load_class(env, jLibFreeRDPPath, &jLibFreeRDPObject);
|
||||
|
||||
return JNI_VERSION_1_6;
|
||||
}
|
||||
|
||||
@@ -78,12 +74,12 @@ jboolean jni_attach_thread(JNIEnv** env)
|
||||
if ((*jVM)->GetEnv(jVM, (void**) env, JNI_VERSION_1_4) != JNI_OK)
|
||||
{
|
||||
WLog_DBG(TAG, "android_java_callback: attaching current thread");
|
||||
|
||||
(*jVM)->AttachCurrentThread(jVM, env, NULL);
|
||||
|
||||
if ((*jVM)->GetEnv(jVM, (void**) env, JNI_VERSION_1_4) != JNI_OK)
|
||||
{
|
||||
WLog_ERR(TAG, "android_java_callback: failed to obtain current JNI environment");
|
||||
WLog_ERR(TAG,
|
||||
"android_java_callback: failed to obtain current JNI environment");
|
||||
}
|
||||
|
||||
return JNI_TRUE;
|
||||
@@ -99,17 +95,15 @@ void jni_detach_thread()
|
||||
}
|
||||
|
||||
/* callback with void result */
|
||||
void java_callback_void(jobject obj, const char * callback, const char* signature, va_list args)
|
||||
static void java_callback_void(jobject obj, const char* callback,
|
||||
const char* signature, va_list args)
|
||||
{
|
||||
jclass jObjClass;
|
||||
jmethodID jCallback;
|
||||
jboolean attached;
|
||||
JNIEnv *env;
|
||||
|
||||
JNIEnv* env;
|
||||
WLog_DBG(TAG, "java_callback: %s (%s)", callback, signature);
|
||||
|
||||
attached = jni_attach_thread(&env);
|
||||
|
||||
jObjClass = (*env)->GetObjectClass(env, obj);
|
||||
|
||||
if (!jObjClass)
|
||||
@@ -127,26 +121,23 @@ void java_callback_void(jobject obj, const char * callback, const char* signatur
|
||||
}
|
||||
|
||||
(*env)->CallStaticVoidMethodV(env, jObjClass, jCallback, args);
|
||||
|
||||
finish:
|
||||
if(attached == JNI_TRUE)
|
||||
|
||||
if (attached == JNI_TRUE)
|
||||
jni_detach_thread();
|
||||
}
|
||||
|
||||
/* callback with bool result */
|
||||
jboolean java_callback_bool(jobject obj, const char * callback,
|
||||
const char* signature, va_list args)
|
||||
static jboolean java_callback_bool(jobject obj, const char* callback,
|
||||
const char* signature, va_list args)
|
||||
{
|
||||
jclass jObjClass;
|
||||
jmethodID jCallback;
|
||||
jboolean attached;
|
||||
jboolean res = JNI_FALSE;
|
||||
JNIEnv *env;
|
||||
|
||||
JNIEnv* env;
|
||||
WLog_DBG(TAG, "java_callback: %s (%s)", callback, signature);
|
||||
|
||||
attached = jni_attach_thread(&env);
|
||||
|
||||
jObjClass = (*env)->GetObjectClass(env, obj);
|
||||
|
||||
if (!jObjClass)
|
||||
@@ -164,27 +155,25 @@ jboolean java_callback_bool(jobject obj, const char * callback,
|
||||
}
|
||||
|
||||
res = (*env)->CallStaticBooleanMethodV(env, jObjClass, jCallback, args);
|
||||
|
||||
finish:
|
||||
if(attached == JNI_TRUE)
|
||||
|
||||
if (attached == JNI_TRUE)
|
||||
jni_detach_thread();
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
/* callback with int result */
|
||||
jint java_callback_int(jobject obj, const char * callback, const char* signature, va_list args)
|
||||
static jint java_callback_int(jobject obj, const char* callback,
|
||||
const char* signature, va_list args)
|
||||
{
|
||||
jclass jObjClass;
|
||||
jmethodID jCallback;
|
||||
jboolean attached;
|
||||
jint res = -1;
|
||||
JNIEnv *env;
|
||||
|
||||
JNIEnv* env;
|
||||
WLog_DBG(TAG, "java_callback: %s (%s)", callback, signature);
|
||||
|
||||
attached = jni_attach_thread(&env);
|
||||
|
||||
jObjClass = (*env)->GetObjectClass(env, obj);
|
||||
|
||||
if (!jObjClass)
|
||||
@@ -202,9 +191,9 @@ jint java_callback_int(jobject obj, const char * callback, const char* signature
|
||||
}
|
||||
|
||||
res = (*env)->CallStaticIntMethodV(env, jObjClass, jCallback, args);
|
||||
|
||||
finish:
|
||||
if(attached == JNI_TRUE)
|
||||
|
||||
if (attached == JNI_TRUE)
|
||||
jni_detach_thread();
|
||||
|
||||
return res;
|
||||
@@ -212,7 +201,7 @@ finish:
|
||||
|
||||
|
||||
/* callback to freerdp class */
|
||||
void freerdp_callback(const char * callback, const char * signature, ...)
|
||||
void freerdp_callback(const char* callback, const char* signature, ...)
|
||||
{
|
||||
va_list vl;
|
||||
va_start(vl, signature);
|
||||
@@ -220,7 +209,8 @@ void freerdp_callback(const char * callback, const char * signature, ...)
|
||||
va_end(vl);
|
||||
}
|
||||
|
||||
jboolean freerdp_callback_bool_result(const char * callback, const char * signature, ...)
|
||||
jboolean freerdp_callback_bool_result(const char* callback,
|
||||
const char* signature, ...)
|
||||
{
|
||||
va_list vl;
|
||||
va_start(vl, signature);
|
||||
@@ -229,10 +219,11 @@ jboolean freerdp_callback_bool_result(const char * callback, const char * signat
|
||||
return res;
|
||||
}
|
||||
|
||||
jint freerdp_callback_int_result(const char * callback, const char * signature, ...)
|
||||
jint freerdp_callback_int_result(const char* callback, const char* signature,
|
||||
...)
|
||||
{
|
||||
va_list vl;
|
||||
va_start(vl, signature);
|
||||
va_start(vl, signature);
|
||||
jint res = java_callback_int(jLibFreeRDPObject, callback, signature, vl);
|
||||
va_end(vl);
|
||||
return res;
|
||||
|
||||
@@ -15,13 +15,17 @@
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdarg.h>
|
||||
#include <freerdp/api.h>
|
||||
|
||||
jint init_callback_environment(JavaVM* vm, JNIEnv* env);
|
||||
jboolean jni_attach_thread(JNIEnv** env);
|
||||
void jni_detach_thread(void);
|
||||
void freerdp_callback(const char * callback, const char * signature, ...);
|
||||
jboolean freerdp_callback_bool_result(const char * callback, const char * signature, ...);
|
||||
jint freerdp_callback_int_result(const char * callback, const char * signature, ...);
|
||||
FREERDP_LOCAL jint init_callback_environment(JavaVM* vm, JNIEnv* env);
|
||||
FREERDP_LOCAL jboolean jni_attach_thread(JNIEnv** env);
|
||||
FREERDP_LOCAL void jni_detach_thread(void);
|
||||
FREERDP_LOCAL void freerdp_callback(const char* callback, const char* signature,
|
||||
...);
|
||||
FREERDP_LOCAL jboolean freerdp_callback_bool_result(const char* callback,
|
||||
const char* signature, ...);
|
||||
FREERDP_LOCAL jint freerdp_callback_int_result(const char* callback,
|
||||
const char* signature, ...);
|
||||
|
||||
#endif /* FREERDP_ANDROID_JNI_CALLBACK_H */
|
||||
|
||||
|
||||
@@ -13,20 +13,22 @@
|
||||
#define _ANDROID_JNI_UTILS_H_
|
||||
|
||||
#include <jni.h>
|
||||
#include <freerdp/api.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
JNIEnv* getJNIEnv();
|
||||
JavaVM* getJavaVM();
|
||||
FREERDP_LOCAL JNIEnv* getJNIEnv();
|
||||
FREERDP_LOCAL JavaVM* getJavaVM();
|
||||
|
||||
char* get_string_from_string_builder(JNIEnv* env, jobject strBuilder);
|
||||
jobject create_string_builder(JNIEnv *env, char* initialStr);
|
||||
jstring jniNewStringUTF(JNIEnv* env, const char* in, int len);
|
||||
FREERDP_LOCAL char* get_string_from_string_builder(JNIEnv* env,
|
||||
jobject strBuilder);
|
||||
FREERDP_LOCAL jobject create_string_builder(JNIEnv* env, char* initialStr);
|
||||
FREERDP_LOCAL jstring jniNewStringUTF(JNIEnv* env, const char* in, int len);
|
||||
|
||||
extern JavaVM *g_JavaVm;
|
||||
FREERDP_LOCAL extern JavaVM* g_JavaVm;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user