package org.libvirt;
import org.libvirt.jna.virStorageVolInfo;
/**
* Detailed information about a storage pool.
*/
public class StorageVolInfo {
public static enum VirStorageVolType {
/**
* Regular file based volumes
*/
VIR_STORAGE_VOL_FILE,
/**
* Block based volumes
*/
VIR_STORAGE_VOL_BLOCK
}
/**
* The type of the Volume
*/
public VirStorageVolType type;
/**
* Logical size bytes
*/
public long capacity;
/**
* Current allocation bytes
*/
public long allocation;
/**
* This is meant to be called from the JNI side, as a convenience constructor
*
* @param type
* the type, as defined by libvirt
* @param capacity
* @param allocation
*/
StorageVolInfo(int type, long capacity, long allocation) {
switch (type) {
case 0:
this.type = VirStorageVolType.VIR_STORAGE_VOL_FILE;
break;
case 1:
this.type = VirStorageVolType.VIR_STORAGE_VOL_BLOCK;
break;
default:
assert (false);
}
this.capacity = capacity;
this.allocation = allocation;
}
StorageVolInfo(virStorageVolInfo volInfo) {
this(volInfo.type, volInfo.capacity, volInfo.allocation);
}
@Override
public String toString() {
return String.format("type:%s%ncapacity:%d%nallocation:%d%n", type, capacity, allocation);
}
}