Merge pull request #3563 from akallabeth/android_update

Android fix warnings, visibility and formatting
This commit is contained in:
Martin Fleisz
2016-11-24 12:59:30 +01:00
committed by GitHub
11 changed files with 687 additions and 630 deletions

View File

@@ -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__ */

View File

@@ -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));

View File

@@ -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 */

View File

@@ -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;

View File

@@ -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 */

View File

@@ -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
}