diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2013-11-27 22:16:05 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2013-11-27 22:16:05 +0000 |
| commit | f5ec987c5d1fe5b05a84d1f9b20bc70f26a385f0 (patch) | |
| tree | 2a09acdb54119fdee5ac9403b01c723b500c4315 /src/runtime/java/jpgf.c | |
| parent | eea636966d2ff59fa4185fa6a25ef3707181522c (diff) | |
better dictionary visualization in the Android App
Diffstat (limited to 'src/runtime/java/jpgf.c')
| -rw-r--r-- | src/runtime/java/jpgf.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/runtime/java/jpgf.c b/src/runtime/java/jpgf.c index 8cfe2c705..50574cf6e 100644 --- a/src/runtime/java/jpgf.c +++ b/src/runtime/java/jpgf.c @@ -212,6 +212,25 @@ Java_org_grammaticalframework_pgf_PGF_getStartCat(JNIEnv* env, jobject self) return gu2j_string(env, pgf_start_cat(get_ref(env, self))); } +JNIEXPORT jobject JNICALL +Java_org_grammaticalframework_pgf_PGF_getFunctionType(JNIEnv* env, jobject self, jstring jid) +{ + PgfPGF* pgf = get_ref(env, self); + GuPool* tmp_pool = gu_new_pool(); + PgfCId id = j2gu_string(env, jid, tmp_pool); + PgfType* tp = pgf_function_type(pgf, id); + gu_pool_free(tmp_pool); + + if (tp == NULL) + return NULL; + + jclass type_class = (*env)->FindClass(env, "org/grammaticalframework/pgf/Type"); + jmethodID constrId = (*env)->GetMethodID(env, type_class, "<init>", "(Lorg/grammaticalframework/pgf/PGF;J)V"); + jobject jtype = (*env)->NewObject(env, type_class, constrId, self, p2l(tp)); + + return jtype; +} + typedef struct { GuMapItor fn; JNIEnv *env; @@ -535,6 +554,13 @@ Java_org_grammaticalframework_pgf_Expr_readExpr(JNIEnv* env, jclass clazz, jstri return (*env)->NewObject(env, clazz, constrId, jpool, NULL, p2l(gu_variant_to_ptr(e))); } +JNIEXPORT jstring JNICALL +Java_org_grammaticalframework_pgf_Type_getCategory(JNIEnv* env, jobject self) +{ + PgfType* tp = get_ref(env, self); + return gu2j_string(env, tp->cid); +} + JNIEXPORT jobject JNICALL Java_org_grammaticalframework_pgf_Generator_generateAll(JNIEnv* env, jclass clazz, jobject jpgf, jstring jstartCat) { |
