JNIEXPORT jobject JNICALL Java_com_jezhumble_javasysmon_SolarisMonitor_swap (JNIEnv *env, jobject obj) { jclass memory_stats_class; jmethodID memory_stats_constructor; jobject memory_stats; unsigned long long total_swap, free_swap; total_swap = free_swap = 0; get_swap_stats(&total_swap, &free_swap); memory_stats_class = (*env)->FindClass(env, "com/jezhumble/javasysmon/MemoryStats"); memory_stats_constructor = (*env)->GetMethodID(env, memory_stats_class, "<init>", "(JJ)V"); memory_stats = (*env)->NewObject(env, memory_stats_class, memory_stats_constructor, (jlong) free_swap, (jlong) total_swap); (*env)->DeleteLocalRef(env, memory_stats_class); return memory_stats; }
static int fillMemoryInfo(Digikam::KMemoryInfo::KMemoryInfoData* const data) { int ret = get_mem_stats(data); if (ret < 1) { data->valid = ret; return ret; } ret = get_swap_stats(data); if (ret < 1) { data->valid = ret; return ret; } data->valid = 1; return 1; }