JNIEXPORT void JNICALL Java_com_jtxdriggers_android_ventriloid_VentriloInterface_getuser(JNIEnv* env, jobject obj, jobject eventdata, jshort userid) { v3_user *u = v3_get_user(userid); if(u) { jclass event_class = get_class(env, eventdata); jobject data = get_object(env, eventdata, event_class, "data", "Lcom/jtxdriggers/android/ventriloid/VentriloEventData$_data;"); jclass data_class = get_class(env, data); jobject rank = get_object(env, data, data_class, "rank", "Lcom/jtxdriggers/android/ventriloid/VentriloEventData$_data$_rank;"); jclass rank_class = get_class(env, rank); jobject text = get_object(env, eventdata, event_class, "text", "Lcom/jtxdriggers/android/ventriloid/VentriloEventData$_text;"); jclass text_class = get_class(env, text); set_byte_array(env, text, text_class, "name", u->name); set_byte_array(env, text, text_class, "phonetic", u->phonetic); set_byte_array(env, text, text_class, "comment", u->comment); set_byte_array(env, text, text_class, "url", u->url); set_byte_array(env, text, text_class, "integration_text", u->integration_text); set_short(env, text, text_class, "real_user_id", u->real_user_id); set_short(env, rank, rank_class, "id", u->rank_id); v3_rank *r = v3_get_rank(u->rank_id); if(r) { set_short(env, rank, rank_class, "level", r->level); set_byte_array(env, rank, rank_class, "name", r->name); set_byte_array(env, rank, rank_class, "description", r->description); v3_free_rank(r); } v3_free_user(u); } }
void users_update( int userid ) { for( int i = 0; i < MAX_USERS; i++ ) { if ( users[i] == NULL ) continue; if ( users[i]->id == userid ) { v3_free_user( users[i] ); users[i] = v3_get_user( userid ); } } }
void users_remove( int userid ) { v3_user *user_ptr = users_get( userid ); if ( user_ptr == NULL ) { printf( "user is null\n" ); return; } for( int i = 0; i < MAX_USERS; i++ ) { if ( users[i] == NULL ) continue; if ( users[i]->id == userid ) { users[i] = NULL; } } v3_free_user( user_ptr ); }