package org.libvirt; import org.libvirt.jna.virStoragePoolInfo; /** * Detailed information about a storage pool. */ public class StoragePoolInfo { public static enum StoragePoolState { /** * Not running */ VIR_STORAGE_POOL_INACTIVE, /** * Initializing pool, not available */ VIR_STORAGE_POOL_BUILDING, /** * Running normally */ VIR_STORAGE_POOL_RUNNING, /** * Running degraded */ VIR_STORAGE_POOL_DEGRADED } /** * the running state */ public StoragePoolState state; /** * Logical size bytes */ public long capacity; /** * Current allocation bytes */ public long allocation; /** * Remaining free space bytes */ public long available; /** * This is meant to be called from the JNI side, as a convenience constructor * * @param state * the state, as defined by libvirt * @param capacity * @param allocation * @param available */ StoragePoolInfo(int state, long capacity, long allocation, long available) { switch (state) { case 0: this.state = StoragePoolState.VIR_STORAGE_POOL_INACTIVE; break; case 1: this.state = StoragePoolState.VIR_STORAGE_POOL_BUILDING; break; case 2: this.state = StoragePoolState.VIR_STORAGE_POOL_RUNNING; break; case 3: this.state = StoragePoolState.VIR_STORAGE_POOL_DEGRADED; break; default: assert (false); } this.capacity = capacity; this.allocation = allocation; this.available = available; } StoragePoolInfo(virStoragePoolInfo vInfo) { this(vInfo.state, vInfo.capacity, vInfo.allocation, vInfo.available); } @Override public String toString() { return String.format("state:%s%ncapacity:%d%nallocation:%d%navailable:%d%n", state, capacity, allocation, available); } }