QStringList StoragePoolControlThread::getAllStoragePoolList() { QStringList storagePoolList; if ( currWorkConnect!=NULL && keep_alive ) { virStoragePoolPtr *storagePool; unsigned int flags = VIR_CONNECT_LIST_STORAGE_POOLS_ACTIVE | VIR_CONNECT_LIST_STORAGE_POOLS_INACTIVE; int ret = virConnectListAllStoragePools( currWorkConnect, &storagePool, flags); if ( ret<0 ) { sendConnErrors(); free(storagePool); return storagePoolList; }; int i = 0; while ( storagePool[i] != NULL ) { QStringList currentAttr; QString autostartStr; int is_autostart = 0; if (virStoragePoolGetAutostart(storagePool[i], &is_autostart) < 0) { autostartStr.append("no autostart"); } else autostartStr.append( is_autostart ? "yes" : "no" ); currentAttr<< QString().fromUtf8( virStoragePoolGetName(storagePool[i]) ) << QString( virStoragePoolIsActive(storagePool[i]) ? "active" : "inactive" ) << autostartStr << QString( virStoragePoolIsPersistent(storagePool[i]) ? "yes" : "no" ); storagePoolList.append(currentAttr.join(" ")); //qDebug()<<currentAttr; virStoragePoolFree(storagePool[i]); i++; }; free(storagePool); }; return storagePoolList; }
Result StoragePoolControlThread::getAllStoragePoolList() { Result result; QStringList storagePoolList; if ( task.srcConnPtr!=NULL && keep_alive ) { virStoragePoolPtr *storagePool = NULL; unsigned int flags = VIR_CONNECT_LIST_STORAGE_POOLS_ACTIVE | VIR_CONNECT_LIST_STORAGE_POOLS_INACTIVE; int ret = virConnectListAllStoragePools( *task.srcConnPtr, &storagePool, flags); if ( ret<0 ) { result.err = sendConnErrors(); result.result = false; result.msg = storagePoolList; return result; }; // therefore correctly to use for() command, because storagePool[0] can not exist. for (int i = 0; i < ret; i++) { QStringList currentAttr; QString autostartStr; int is_autostart = 0; if (virStoragePoolGetAutostart(storagePool[i], &is_autostart) < 0) { autostartStr.append("no autostart"); } else autostartStr.append( is_autostart ? "yes" : "no" ); currentAttr<< QString::fromUtf8( virStoragePoolGetName(storagePool[i]) ) << QString( virStoragePoolIsActive(storagePool[i]) ? "active" : "inactive" ) << autostartStr << QString( virStoragePoolIsPersistent(storagePool[i]) ? "yes" : "no" ); storagePoolList.append(currentAttr.join(DFR)); //qDebug()<<currentAttr; virStoragePoolFree(storagePool[i]); }; free(storagePool); result.result = true; } else { result.result = false; }; result.msg = storagePoolList; return result; }
gboolean gvir_storage_pool_get_persistent(GVirStoragePool *pool) { g_return_val_if_fail(GVIR_IS_STORAGE_POOL(pool), FALSE); return virStoragePoolIsPersistent(pool->priv->handle); }