}
+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);
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)