int main() { ParameterManager * params = PM_create(4); PM_manage(params,"studentname",STRING_TYPE,1); PM_manage(params,"id",INT_TYPE,1); PM_manage(params,"regstat",BOOLEAN_TYPE,1); PM_manage(params,"marks",LIST_TYPE,1); PM_manage(params,"average",REAL_TYPE,0); printf("Success?: %d\n", PM_destroy(params)); }
//Creates the LL and adds the manditory items JNIEXPORT void JNICALL Java_Dialogc_DialogcCreate(JNIEnv *env, jobject obj, jint size) { //Destroy somewhere params = PM_create(size); PM_manage(params,"title",STRING_TYPE,1); PM_manage(params,"fields",LIST_TYPE,1); PM_manage(params,"buttons",LIST_TYPE,1); }
//After parsing, look at all the fields and manage, add all values JNIEXPORT void JNICALL Java_Dialogc_DialogcManage (JNIEnv * env, jobject job){ char * value; ParameterManager *PM=params; fields = PM_getValue(params,"fields").list_val; buttons = PM_getValue(params,"buttons").list_val; while(value = PL_next(fields)) { PM_manage(params,value,NO_TYPE,1); } while(value = PL_next(buttons)) { PM_manage(params,value,NO_TYPE,1); } }
JNIEXPORT void JNICALL Java_ConfigManager_manage(JNIEnv *env, jobject obj, jstring parameterName, jbyte parameterType, jboolean required) { ParameterManager* pm = GetJavaPMPointer(env, obj); const jbyte* str; char* name; char type = (char) parameterType; param_t ptype; str = (*env)->GetStringUTFChars(env, parameterName, NULL); if (str != NULL) { name = StringNew((char*) str); if(type == 'i') { ptype = INT_TYPE; } else if(type == 's') { ptype = STRING_TYPE; } else if(type == 'l') { ptype = LIST_TYPE; } else if(type == 'r') { ptype = REAL_TYPE; } else if(type == 'b') { ptype = BOOLEAN_TYPE; } PM_manage(pm, name, ptype, required); (*env)->ReleaseStringUTFChars(env, parameterName, str); StringFree(name); } }