summaryrefslogtreecommitdiff
path: root/navit/android.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2012-02-06 22:03:13 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2012-02-06 22:03:13 +0000
commit705290c5e6b3f80811051b597686def2b900ca53 (patch)
treeed0ff1d1d561758a0ff5de628e8f776993c1fe68 /navit/android.c
parentce3462999e09f133454fc84bf79e8c9f8c465bd2 (diff)
downloadnavit-705290c5e6b3f80811051b597686def2b900ca53.tar.gz
Add:android:Made watches more flexible
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@4929 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/android.c')
-rw-r--r--navit/android.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/navit/android.c b/navit/android.c
index eec4005a8..1107f600c 100644
--- a/navit/android.c
+++ b/navit/android.c
@@ -1,6 +1,5 @@
#include <stdlib.h>
#include <string.h>
-#include <poll.h>
#include <glib.h>
#include "android.h"
#include <android/log.h>
@@ -142,26 +141,11 @@ Java_org_navitproject_navit_NavitIdle_IdleCallback( JNIEnv* env, jobject thiz, i
}
JNIEXPORT void JNICALL
-Java_org_navitproject_navit_NavitWatch_poll( JNIEnv* env, jobject thiz, int fd, int cond)
+Java_org_navitproject_navit_NavitWatch_poll( JNIEnv* env, jobject thiz, int func, int fd, int cond)
{
- struct pollfd pfd;
- pfd.fd=fd;
- dbg(1,"%p poll called for %d %d\n",env, fd, cond);
- switch ((enum event_watch_cond)cond) {
- case event_watch_cond_read:
- pfd.events=POLLIN;
- break;
- case event_watch_cond_write:
- pfd.events=POLLOUT;
- break;
- case event_watch_cond_except:
- pfd.events=POLLERR;
- break;
- default:
- pfd.events=0;
- }
- pfd.revents=0;
- poll(&pfd, 1, -1);
+ void (*pollfunc)(JNIEnv *env, int fd, int cond)=(void *)func;
+
+ pollfunc(env, fd, cond);
}
JNIEXPORT void JNICALL