mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-31 22:50:30 +03:00
qemu: Introduce privateData object for virStorageSource
Add the object definition and helpers to store security-related private data for virStorageSources. Signed-off-by: John Ferlan <jferlan@redhat.com> Signed-off-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
1f38445e43
commit
3ff3eb70c7
@ -932,6 +932,49 @@ qemuDomainDiskPrivateDispose(void *obj)
|
||||
}
|
||||
|
||||
|
||||
static virClassPtr qemuDomainStorageSourcePrivateClass;
|
||||
static void qemuDomainStorageSourcePrivateDispose(void *obj);
|
||||
|
||||
static int
|
||||
qemuDomainStorageSourcePrivateOnceInit(void)
|
||||
{
|
||||
qemuDomainStorageSourcePrivateClass = virClassNew(virClassForObject(),
|
||||
"qemuDomainStorageSourcePrivate",
|
||||
sizeof(qemuDomainStorageSourcePrivate),
|
||||
qemuDomainStorageSourcePrivateDispose);
|
||||
if (!qemuDomainStorageSourcePrivateClass)
|
||||
return -1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
VIR_ONCE_GLOBAL_INIT(qemuDomainStorageSourcePrivate)
|
||||
|
||||
virObjectPtr
|
||||
qemuDomainStorageSourcePrivateNew(void)
|
||||
{
|
||||
qemuDomainStorageSourcePrivatePtr priv;
|
||||
|
||||
if (qemuDomainStorageSourcePrivateInitialize() < 0)
|
||||
return NULL;
|
||||
|
||||
if (!(priv = virObjectNew(qemuDomainStorageSourcePrivateClass)))
|
||||
return NULL;
|
||||
|
||||
return (virObjectPtr) priv;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
qemuDomainStorageSourcePrivateDispose(void *obj)
|
||||
{
|
||||
qemuDomainStorageSourcePrivatePtr priv = obj;
|
||||
|
||||
qemuDomainSecretInfoFree(&priv->secinfo);
|
||||
qemuDomainSecretInfoFree(&priv->encinfo);
|
||||
}
|
||||
|
||||
|
||||
static virClassPtr qemuDomainHostdevPrivateClass;
|
||||
static void qemuDomainHostdevPrivateDispose(void *obj);
|
||||
|
||||
|
@ -363,6 +363,23 @@ struct _qemuDomainDiskPrivate {
|
||||
bool removable; /* device media can be removed/changed */
|
||||
};
|
||||
|
||||
# define QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src) \
|
||||
((qemuDomainStorageSourcePrivatePtr) (src)->privateData)
|
||||
|
||||
typedef struct _qemuDomainStorageSourcePrivate qemuDomainStorageSourcePrivate;
|
||||
typedef qemuDomainStorageSourcePrivate *qemuDomainStorageSourcePrivatePtr;
|
||||
struct _qemuDomainStorageSourcePrivate {
|
||||
virObject parent;
|
||||
|
||||
/* data required for authentication to the storage source */
|
||||
qemuDomainSecretInfoPtr secinfo;
|
||||
|
||||
/* data required for decryption of encrypted storage source */
|
||||
qemuDomainSecretInfoPtr encinfo;
|
||||
};
|
||||
|
||||
virObjectPtr qemuDomainStorageSourcePrivateNew(void);
|
||||
|
||||
# define QEMU_DOMAIN_HOSTDEV_PRIVATE(hostdev) \
|
||||
((qemuDomainHostdevPrivatePtr) (hostdev)->privateData)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user