who bindings
This commit is contained in:
parent
e0063abf7b
commit
bd2ef09744
|
@ -740,7 +740,28 @@ my %classes = (
|
|||
plat => 'L'
|
||||
},
|
||||
],
|
||||
|
||||
Who => [
|
||||
{
|
||||
name => 'user', type => 'String',
|
||||
desc => '',
|
||||
plat => ''
|
||||
},
|
||||
{
|
||||
name => 'device', type => 'String',
|
||||
desc => '',
|
||||
plat => ''
|
||||
},
|
||||
{
|
||||
name => 'host', type => 'String',
|
||||
desc => '',
|
||||
plat => ''
|
||||
},
|
||||
{
|
||||
name => 'time', type => 'Long',
|
||||
desc => '',
|
||||
plat => ''
|
||||
},
|
||||
],
|
||||
);
|
||||
|
||||
my %cmds = (
|
||||
|
@ -1013,7 +1034,7 @@ EOF
|
|||
my %has_name_arg = map { $_, 1 } qw(FileSystemUsage FileAttrs DirStat
|
||||
NetInterfaceConfig NetInterfaceStat);
|
||||
my %proc_no_arg = map { $_, 1 } qw(stat);
|
||||
my %get_not_impl = map { $_, 1 } qw(net_route net_connection
|
||||
my %get_not_impl = map { $_, 1 } qw(net_route net_connection who
|
||||
cpu_info file_system); #list funcs only
|
||||
|
||||
my %field_cache;
|
||||
|
|
|
@ -760,6 +760,37 @@ JNIEXPORT jstring SIGAR_JNI(NetConnection_getTypeString)
|
|||
sigar_net_connection_type_get(type));
|
||||
}
|
||||
|
||||
JNIEXPORT jobjectArray SIGAR_JNI(Sigar_getWhoList)
|
||||
(JNIEnv *env, jobject sigar_obj)
|
||||
{
|
||||
int status;
|
||||
unsigned int i;
|
||||
sigar_who_list_t wholist;
|
||||
jobjectArray whoarray;
|
||||
jclass cls = SIGAR_FIND_CLASS("Who");
|
||||
dSIGAR(NULL);
|
||||
|
||||
if ((status = sigar_who_list_get(sigar, &wholist)) != SIGAR_OK) {
|
||||
sigar_throw_error(env, jsigar, status);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
JAVA_SIGAR_INIT_FIELDS_WHO(cls);
|
||||
|
||||
whoarray = JENV->NewObjectArray(env, wholist.number, cls, 0);
|
||||
|
||||
for (i=0; i<wholist.number; i++) {
|
||||
jobject info_obj = JENV->AllocObject(env, cls);
|
||||
JAVA_SIGAR_SET_FIELDS_WHO(cls, info_obj,
|
||||
wholist.data[i]);
|
||||
JENV->SetObjectArrayElement(env, whoarray, i, info_obj);
|
||||
}
|
||||
|
||||
sigar_who_list_destroy(sigar, &wholist);
|
||||
|
||||
return whoarray;
|
||||
}
|
||||
|
||||
/* XXX perhaps it would be better to duplicate these strings
|
||||
* in java land as static final so we dont create a new String
|
||||
* everytime.
|
||||
|
|
Loading…
Reference in New Issue