use jsigar_list

This commit is contained in:
Doug MacEachern 2008-03-26 16:46:44 +00:00
parent 10505d14cb
commit 4b77f0f1f4
1 changed files with 6 additions and 15 deletions

View File

@ -223,15 +223,8 @@ JNIEXPORT jobject SIGAR_JNI(win32_Service_getServiceNames)
{
DWORD i, status;
sigar_services_status_t ss;
jobject listobj;
jclass listclass =
env->FindClass("java/util/ArrayList");
jmethodID listid =
env->GetMethodID(listclass, "<init>", "()V");
jmethodID addid =
env->GetMethodID(listclass, "add",
"(Ljava/lang/Object;)"
"Z");
jsigar_list_t obj;
SIGAR_ZERO(&ss);
status = sigar_services_status_get(&ss, SERVICE_STATE_ALL);
if (status != SIGAR_OK) {
@ -239,17 +232,15 @@ JNIEXPORT jobject SIGAR_JNI(win32_Service_getServiceNames)
return NULL;
}
listobj = env->NewObject(listclass, listid);
for (i=0; i<ss.count; i++) {
jstring name =
env->NewStringUTF((char *)ss.services[i].lpServiceName);
jsigar_list_init(env, &obj);
env->CallBooleanMethod(listobj, addid, name);
for (i=0; i<ss.count; i++) {
jsigar_list_add(&obj, (char *)ss.services[i].lpServiceName, -1);
}
sigar_services_status_close(&ss);
return listobj;
return obj.obj;
}
/*