+JNIEXPORT jobjectArray JNICALL Java_org_simantics_fmil_FMIL_getAllDeclaredTypes_1\r
+ (JNIEnv *env, jobject obj, jint id) {\r
+\r
+ jobjectArray ret= (jobjectArray)env->NewObjectArray(fmus[id].declaredTypeNames.size(), \r
+ env->FindClass("java/lang/String"), \r
+ env->NewStringUTF(""));\r
+ \r
+ for(int i=0;i<fmus[id].declaredTypeNames.size();i++) { \r
+ env->SetObjectArrayElement(ret,i,env->NewStringUTF(fmus[id].declaredTypeNames[i].c_str())); \r
+ } \r
+\r
+ return ret; \r
+\r
+}\r
+\r
+JNIEXPORT jobjectArray JNICALL Java_org_simantics_fmil_FMIL_getAllDeclaredTypeDescriptions_1\r
+ (JNIEnv *env, jobject obj, jint id) {\r
+\r
+ jobjectArray ret= (jobjectArray)env->NewObjectArray(fmus[id].typeDescriptions.size(), \r
+ env->FindClass("java/lang/String"), \r
+ env->NewStringUTF(""));\r
+ \r
+ for(int i=0;i<fmus[id].typeDescriptions.size();i++) { \r
+ env->SetObjectArrayElement(ret,i,env->NewStringUTF(fmus[id].typeDescriptions[i].c_str())); \r
+ } \r
+\r
+ return ret; \r
+\r
+}\r
+\r
+JNIEXPORT jobjectArray JNICALL Java_org_simantics_fmil_FMIL_getAllDeclaredTypeQuantities_1\r
+ (JNIEnv *env, jobject obj, jint id) {\r
+\r
+ jobjectArray ret= (jobjectArray)env->NewObjectArray(fmus[id].quantities.size(), \r
+ env->FindClass("java/lang/String"), \r
+ env->NewStringUTF(""));\r
+ \r
+ for(int i=0;i<fmus[id].quantities.size();i++) { \r
+ env->SetObjectArrayElement(ret,i,env->NewStringUTF(fmus[id].quantities[i].c_str())); \r
+ } \r
+\r
+ return ret; \r
+\r
+}\r
+\r
+JNIEXPORT jobjectArray JNICALL Java_org_simantics_fmil_FMIL_getAllDeclaredTypeUnits_1\r
+ (JNIEnv *env, jobject obj, jint id) {\r
+\r
+ jobjectArray ret= (jobjectArray)env->NewObjectArray(fmus[id].units.size(), \r
+ env->FindClass("java/lang/String"), \r
+ env->NewStringUTF(""));\r
+ \r
+ for(int i=0;i<fmus[id].units.size();i++) { \r
+ env->SetObjectArrayElement(ret,i,env->NewStringUTF(fmus[id].units[i].c_str())); \r
+ } \r
+\r
+ return ret; \r
+\r
+}\r
+\r