summaryrefslogtreecommitdiff
path: root/navit/android.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2009-08-16 16:40:26 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2009-08-16 16:40:26 +0000
commita2f441579ac0862157385997aef1befb15f979b1 (patch)
tree70b504e30d213d8a71df97ac95f50db767eddb5d /navit/android.c
parent6da5a61760df1dd39737bc0e3f805391479d1b01 (diff)
downloadnavit-a2f441579ac0862157385997aef1befb15f979b1.tar.gz
Add:Core:And another batch of android updates
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@2468 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/android.c')
-rw-r--r--navit/android.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/navit/android.c b/navit/android.c
index e6b7ee7cd..9e94f5114 100644
--- a/navit/android.c
+++ b/navit/android.c
@@ -1,7 +1,9 @@
#include <string.h>
+#include <poll.h>
#include "android.h"
#include <android/log.h>
#include "debug.h"
+#include "event.h"
#include "callback.h"
JNIEnv *jnienv;
@@ -104,3 +106,34 @@ Java_org_navitproject_navit_NavitIdle_IdleCallback( JNIEnv* env, jobject thiz, i
callback_call_0((struct callback *)id);
}
+JNIEXPORT void JNICALL
+Java_org_navitproject_navit_NavitWatch_poll( JNIEnv* env, jobject thiz, int fd, int cond)
+{
+ struct pollfd pfd;
+ pfd.fd=fd;
+ dbg(0,"%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);
+}
+
+JNIEXPORT void JNICALL
+Java_org_navitproject_navit_NavitWatch_WatchCallback( JNIEnv* env, jobject thiz, int id)
+{
+ dbg(1,"enter %p %p\n",thiz, (void *)id);
+ callback_call_0((struct callback *)id);
+}
+
+