diff --git a/bindings/java/src/jni/javasigar.c b/bindings/java/src/jni/javasigar.c index 00762e81..c8ab0dd5 100644 --- a/bindings/java/src/jni/javasigar.c +++ b/bindings/java/src/jni/javasigar.c @@ -928,6 +928,22 @@ JNIEXPORT void SIGAR_JNI(NetStat_stat) JENV->SetObjectField(env, obj, id, states); } +JNIEXPORT jstring SIGAR_JNIx(getNetListenAddress) +(JNIEnv *env, jobject sigar_obj, jlong port) +{ + int status; + sigar_net_address_t address; + dSIGAR(NULL); + + status = sigar_net_listen_address_get(sigar, port, &address); + if (status != SIGAR_OK) { + sigar_throw_error(env, jsigar, status); + return NULL; + } + + return jnet_address_to_string(env, sigar, &address); +} + JNIEXPORT jstring SIGAR_JNI(NetConnection_getTypeString) (JNIEnv *env, jobject obj) { diff --git a/bindings/java/src/org/hyperic/sigar/Sigar.java b/bindings/java/src/org/hyperic/sigar/Sigar.java index c5cee29a..daf28efa 100644 --- a/bindings/java/src/org/hyperic/sigar/Sigar.java +++ b/bindings/java/src/org/hyperic/sigar/Sigar.java @@ -749,43 +749,10 @@ public class Sigar implements SigarProxy { /** * Get the TCP listen address for the given port. - * If the port is not bound to a specific address, - * the loopback address will be returned. * If there is not a listener on the given port, null will be returned. */ - public String getNetListenAddress(long port) - throws SigarException { - - int flags = NetFlags.CONN_SERVER | NetFlags.CONN_TCP; - - NetConnection[] connections = - getNetConnectionList(flags); - - for (int i=0; i