FreeRDP
android_freerdp.c File Reference
#include <assert.h>
#include <locale.h>
#include <jni.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <freerdp/graphics.h>
#include <freerdp/codec/rfx.h>
#include <freerdp/gdi/gdi.h>
#include <freerdp/gdi/gfx.h>
#include <freerdp/client/rdpei.h>
#include <freerdp/client/rdpgfx.h>
#include <freerdp/client/cliprdr.h>
#include <freerdp/channels/channels.h>
#include <freerdp/client/channels.h>
#include <freerdp/client/cmdline.h>
#include <freerdp/constants.h>
#include <freerdp/locale/keyboard.h>
#include <freerdp/primitives.h>
#include <freerdp/version.h>
#include <freerdp/settings.h>
#include <freerdp/utils/signal.h>
#include <android/bitmap.h>
#include "android_jni_callback.h"
#include "android_jni_utils.h"
#include "android_cliprdr.h"
#include "android_freerdp_jni.h"

Macros

#define TAG   CLIENT_TAG("android")
 
#define FREERDP_JNI_VERSION   "2.0.0"
 

Functions

static void android_OnChannelConnectedEventHandler (void *context, ChannelConnectedEventArgs *e)
 
static void android_OnChannelDisconnectedEventHandler (void *context, ChannelDisconnectedEventArgs *e)
 
static BOOL android_begin_paint (rdpContext *context)
 
static BOOL android_end_paint (rdpContext *context)
 
static BOOL android_desktop_resize (rdpContext *context)
 
static BOOL android_pre_connect (freerdp *instance)
 
static BOOL android_Pointer_New (rdpContext *context, rdpPointer *pointer)
 
static void android_Pointer_Free (rdpContext *context, rdpPointer *pointer)
 
static BOOL android_Pointer_Set (rdpContext *context, const rdpPointer *pointer)
 
static BOOL android_Pointer_SetPosition (rdpContext *context, UINT32 x, UINT32 y)
 
static BOOL android_Pointer_SetNull (rdpContext *context)
 
static BOOL android_Pointer_SetDefault (rdpContext *context)
 
static BOOL android_register_pointer (rdpGraphics *graphics)
 
static BOOL android_post_connect (freerdp *instance)
 
static void android_post_disconnect (freerdp *instance)
 
static BOOL android_authenticate_int (freerdp *instance, char **username, char **password, char **domain, const char *cb_name)
 
static BOOL android_authenticate (freerdp *instance, char **username, char **password, char **domain)
 
static BOOL android_gw_authenticate (freerdp *instance, char **username, char **password, char **domain)
 
static DWORD android_verify_certificate (freerdp *instance, const char *common_name, const char *subject, const char *issuer, const char *fingerprint, BOOL host_mismatch)
 
static DWORD android_verify_changed_certificate (freerdp *instance, const char *common_name, const char *subject, const char *issuer, const char *new_fingerprint, const char *old_subject, const char *old_issuer, const char *old_fingerprint)
 
static DWORD WINAPI jni_input_thread (LPVOID arg)
 
static int android_freerdp_run (freerdp *instance)
 
static DWORD WINAPI android_thread_func (LPVOID param)
 
static BOOL android_client_new (freerdp *instance, rdpContext *context)
 
static void android_client_free (freerdp *instance, rdpContext *context)
 
static int RdpClientEntry (RDP_CLIENT_ENTRY_POINTS *pEntryPoints)
 
static jlong JNICALL jni_freerdp_new (JNIEnv *env, jclass cls, jobject context)
 
static void JNICALL jni_freerdp_free (JNIEnv *env, jclass cls, jlong instance)
 
static jstring JNICALL jni_freerdp_get_last_error_string (JNIEnv *env, jclass cls, jlong instance)
 
static jboolean JNICALL jni_freerdp_parse_arguments (JNIEnv *env, jclass cls, jlong instance, jobjectArray arguments)
 
static jboolean JNICALL jni_freerdp_connect (JNIEnv *env, jclass cls, jlong instance)
 
static jboolean JNICALL jni_freerdp_disconnect (JNIEnv *env, jclass cls, jlong instance)
 
static jboolean JNICALL jni_freerdp_update_graphics (JNIEnv *env, jclass cls, jlong instance, jobject bitmap, jint x, jint y, jint width, jint height)
 
static jboolean JNICALL jni_freerdp_send_key_event (JNIEnv *env, jclass cls, jlong instance, jint keycode, jboolean down)
 
static jboolean JNICALL jni_freerdp_send_unicodekey_event (JNIEnv *env, jclass cls, jlong instance, jint keycode)
 
static jboolean JNICALL jni_freerdp_send_cursor_event (JNIEnv *env, jclass cls, jlong instance, jint x, jint y, jint flags)
 
static jboolean JNICALL jni_freerdp_send_clipboard_data (JNIEnv *env, jclass cls, jlong instance, jstring jdata)
 
static jstring JNICALL jni_freerdp_get_jni_version (JNIEnv *env, jclass cls)
 
static jstring JNICALL jni_freerdp_get_version (JNIEnv *env, jclass cls)
 
static jstring JNICALL jni_freerdp_get_build_date (JNIEnv *env, jclass cls)
 
static jstring JNICALL jni_freerdp_get_build_revision (JNIEnv *env, jclass cls)
 
static jstring JNICALL jni_freerdp_get_build_config (JNIEnv *env, jclass cls)
 
jint JNI_OnLoad (JavaVM *vm, void *reserved)
 
void JNICALL JNI_OnUnload (JavaVM *vm, void *reserved)
 

Variables

static JNINativeMethod methods []
 
static jclass gJavaActivityClass = NULL
 

Macro Definition Documentation

#define FREERDP_JNI_VERSION   "2.0.0"
#define TAG   CLIENT_TAG("android")

Function Documentation

static BOOL android_authenticate ( freerdp *  instance,
char **  username,
char **  password,
char **  domain 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL android_authenticate_int ( freerdp *  instance,
char **  username,
char **  password,
char **  domain,
const char *  cb_name 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL android_begin_paint ( rdpContext *  context)
static

Here is the caller graph for this function:

static void android_client_free ( freerdp *  instance,
rdpContext *  context 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL android_client_new ( freerdp *  instance,
rdpContext *  context 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL android_desktop_resize ( rdpContext *  context)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL android_end_paint ( rdpContext *  context)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static int android_freerdp_run ( freerdp *  instance)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL android_gw_authenticate ( freerdp *  instance,
char **  username,
char **  password,
char **  domain 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void android_OnChannelConnectedEventHandler ( void context,
ChannelConnectedEventArgs *  e 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void android_OnChannelDisconnectedEventHandler ( void context,
ChannelDisconnectedEventArgs *  e 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void android_Pointer_Free ( rdpContext *  context,
rdpPointer *  pointer 
)
static

Here is the caller graph for this function:

static BOOL android_Pointer_New ( rdpContext *  context,
rdpPointer *  pointer 
)
static

Here is the caller graph for this function:

static BOOL android_Pointer_Set ( rdpContext *  context,
const rdpPointer *  pointer 
)
static

Here is the caller graph for this function:

static BOOL android_Pointer_SetDefault ( rdpContext *  context)
static

Here is the caller graph for this function:

static BOOL android_Pointer_SetNull ( rdpContext *  context)
static

Here is the caller graph for this function:

static BOOL android_Pointer_SetPosition ( rdpContext *  context,
UINT32  x,
UINT32  y 
)
static

Here is the caller graph for this function:

static BOOL android_post_connect ( freerdp *  instance)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void android_post_disconnect ( freerdp *  instance)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL android_pre_connect ( freerdp *  instance)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static BOOL android_register_pointer ( rdpGraphics *  graphics)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static DWORD WINAPI android_thread_func ( LPVOID  param)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static DWORD android_verify_certificate ( freerdp *  instance,
const char *  common_name,
const char *  subject,
const char *  issuer,
const char *  fingerprint,
BOOL  host_mismatch 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static DWORD android_verify_changed_certificate ( freerdp *  instance,
const char *  common_name,
const char *  subject,
const char *  issuer,
const char *  new_fingerprint,
const char *  old_subject,
const char *  old_issuer,
const char *  old_fingerprint 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static jboolean JNICALL jni_freerdp_connect ( JNIEnv *  env,
jclass  cls,
jlong  instance 
)
static

Here is the call graph for this function:

static jboolean JNICALL jni_freerdp_disconnect ( JNIEnv *  env,
jclass  cls,
jlong  instance 
)
static

Here is the call graph for this function:

static void JNICALL jni_freerdp_free ( JNIEnv *  env,
jclass  cls,
jlong  instance 
)
static

Here is the call graph for this function:

static jstring JNICALL jni_freerdp_get_build_config ( JNIEnv *  env,
jclass  cls 
)
static

Here is the call graph for this function:

static jstring JNICALL jni_freerdp_get_build_date ( JNIEnv *  env,
jclass  cls 
)
static

Here is the call graph for this function:

static jstring JNICALL jni_freerdp_get_build_revision ( JNIEnv *  env,
jclass  cls 
)
static

Here is the call graph for this function:

static jstring JNICALL jni_freerdp_get_jni_version ( JNIEnv *  env,
jclass  cls 
)
static
static jstring JNICALL jni_freerdp_get_last_error_string ( JNIEnv *  env,
jclass  cls,
jlong  instance 
)
static

Here is the call graph for this function:

static jstring JNICALL jni_freerdp_get_version ( JNIEnv *  env,
jclass  cls 
)
static

Here is the call graph for this function:

static jlong JNICALL jni_freerdp_new ( JNIEnv *  env,
jclass  cls,
jobject  context 
)
static

Here is the call graph for this function:

static jboolean JNICALL jni_freerdp_parse_arguments ( JNIEnv *  env,
jclass  cls,
jlong  instance,
jobjectArray  arguments 
)
static

Here is the call graph for this function:

static jboolean JNICALL jni_freerdp_send_clipboard_data ( JNIEnv *  env,
jclass  cls,
jlong  instance,
jstring  jdata 
)
static

Here is the call graph for this function:

static jboolean JNICALL jni_freerdp_send_cursor_event ( JNIEnv *  env,
jclass  cls,
jlong  instance,
jint  x,
jint  y,
jint  flags 
)
static

Here is the call graph for this function:

static jboolean JNICALL jni_freerdp_send_key_event ( JNIEnv *  env,
jclass  cls,
jlong  instance,
jint  keycode,
jboolean  down 
)
static

Here is the call graph for this function:

static jboolean JNICALL jni_freerdp_send_unicodekey_event ( JNIEnv *  env,
jclass  cls,
jlong  instance,
jint  keycode 
)
static

Here is the call graph for this function:

static jboolean JNICALL jni_freerdp_update_graphics ( JNIEnv *  env,
jclass  cls,
jlong  instance,
jobject  bitmap,
jint  x,
jint  y,
jint  width,
jint  height 
)
static

Here is the call graph for this function:

static DWORD WINAPI jni_input_thread ( LPVOID  arg)
static

Here is the call graph for this function:

Here is the caller graph for this function:

jint JNI_OnLoad ( JavaVM *  vm,
void reserved 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void JNICALL JNI_OnUnload ( JavaVM *  vm,
void reserved 
)
static int RdpClientEntry ( RDP_CLIENT_ENTRY_POINTS pEntryPoints)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

jclass gJavaActivityClass = NULL
static
JNINativeMethod methods[]
static