diff --git a/bindings/java/src/jni/generate.pl b/bindings/java/src/jni/generate.pl index c3cfc65c..ef38e8ac 100644 --- a/bindings/java/src/jni/generate.pl +++ b/bindings/java/src/jni/generate.pl @@ -739,6 +739,11 @@ my %classes = ( desc => '', plat => 'L' }, + { + name => 'state', type => 'Int', + desc => '', + plat => 'L' + }, ], Who => [ { @@ -1002,6 +1007,8 @@ my %extra_code = ( EOF NetConnection => <<'EOF', public native String getTypeString(); + + public native String getStateString(); EOF Mem => <<'EOF', public String toString() { diff --git a/bindings/java/src/jni/javasigar.c b/bindings/java/src/jni/javasigar.c index d9116e5d..398b69fc 100644 --- a/bindings/java/src/jni/javasigar.c +++ b/bindings/java/src/jni/javasigar.c @@ -760,6 +760,16 @@ JNIEXPORT jstring SIGAR_JNI(NetConnection_getTypeString) sigar_net_connection_type_get(type)); } +JNIEXPORT jstring SIGAR_JNI(NetConnection_getStateString) +(JNIEnv *env, jobject obj) +{ + jclass cls = JENV->GetObjectClass(env, obj); + jfieldID field = JENV->GetFieldID(env, cls, "state", "I"); + jint type = JENV->GetIntField(env, obj, field); + return JENV->NewStringUTF(env, + sigar_net_connection_state_get(type)); +} + JNIEXPORT jobjectArray SIGAR_JNI(Sigar_getWhoList) (JNIEnv *env, jobject sigar_obj) {