]> xenbits.xensource.com Git - libvirt.git/commitdiff
Mon Jun 25 16:55:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
authorRichard W.M. Jones <rjones@redhat.com>
Mon, 25 Jun 2007 15:56:18 +0000 (15:56 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Mon, 25 Jun 2007 15:56:18 +0000 (15:56 +0000)
* include/libvirt/libvirt.h.in, src/libvirt.c, src/libvirt_sym.version,
  python/generator.py: Added virDomainGetConnect and
  virNetworkGetConnect to allow us to get the "hidden"
  connection associated with each domain or network.

ChangeLog
include/libvirt/libvirt.h
include/libvirt/libvirt.h.in
python/generator.py
src/libvirt.c
src/libvirt_sym.version

index 7d243dd6de93c5ece9a2e18234d9e311e60f453e..426ca509cd75e82e0efe6d0f728292da1da759cd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Mon Jun 25 16:55:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
+
+       * include/libvirt/libvirt.h.in, src/libvirt.c, src/libvirt_sym.version,
+         python/generator.py: Added virDomainGetConnect and
+         virNetworkGetConnect to allow us to get the "hidden"
+         connection associated with each domain or network.
+
 Mon Jun 25 14:30:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
 
        * include/libvirt/libvirt.h, include/libvirt/libvirt.h.in,
index 5153274a600c0c907bbbb51a88b0528282baad25..f73354136613b0ba5588eef9a2e56798ab5c1c21 100644 (file)
@@ -295,6 +295,11 @@ int                        virConnectListDomains   (virConnectPtr conn,
 int                    virConnectNumOfDomains  (virConnectPtr conn);
 
 
+/*
+ * Get connection from domain.
+ */
+virConnectPtr          virDomainGetConnect     (virDomainPtr domain);
+
 /*
  * Domain creation and destruction
  */
@@ -523,6 +528,11 @@ typedef struct _virNetwork virNetwork;
  */
 typedef virNetwork *virNetworkPtr;
 
+/*
+ * Get connection from network.
+ */
+virConnectPtr          virNetworkGetConnect    (virNetworkPtr network);
+
 /*
  * List active networks
  */
index cf8de162b929d989d36f226298220c63215eb512..9f5e07099957cfa4004f9f3c692ca204cf97835e 100644 (file)
@@ -295,6 +295,11 @@ int                        virConnectListDomains   (virConnectPtr conn,
 int                    virConnectNumOfDomains  (virConnectPtr conn);
 
 
+/*
+ * Get connection from domain.
+ */
+virConnectPtr          virDomainGetConnect     (virDomainPtr domain);
+
 /*
  * Domain creation and destruction
  */
@@ -523,6 +528,11 @@ typedef struct _virNetwork virNetwork;
  */
 typedef virNetwork *virNetworkPtr;
 
+/*
+ * Get connection from network.
+ */
+virConnectPtr          virNetworkGetConnect    (virNetworkPtr network);
+
 /*
  * List active networks
  */
index 3dc321234d5ed9ab59cde0c7d7a78ca59fd28433..4f7c12933716b64455ee843a984cc6d1625b142c 100755 (executable)
@@ -870,6 +870,10 @@ def buildWrappers():
                txt.write("Class %s()\n" % (classname))
                classes.write("class %s:\n" % (classname))
                 if classname == "virDomain" or classname == "virNetwork":
+                    # NB: Earlier versions of libvirt did not provide
+                    # vir{Domain,Network}GetConnect, so we had to explicitly
+                    # store the connection object in _conn.  In future
+                    # we won't need to do this.
                     classes.write("    def __init__(self, conn, _obj=None):\n")
                 else:
                     classes.write("    def __init__(self, _obj=None):\n")
index 4e1d885b3e21d2da80bcb7775b1726afc494caca..f50c91926fc51eaa4bbc614e5e940f82dfae6ffe 100644 (file)
@@ -545,6 +545,26 @@ virConnectNumOfDomains(virConnectPtr conn)
     return -1;
 }
 
+/**
+ * virDomainGetConnect:
+ * @dom: pointer to a domain
+ *
+ * Returns the connection pointer associated with a domain.  The
+ * reference counter on the connection is not increased by this
+ * call.
+ *
+ * Returns the virConnectPtr or NULL in case of failure.
+ */
+virConnectPtr
+virDomainGetConnect (virDomainPtr dom)
+{
+    if (!VIR_IS_DOMAIN (dom)) {
+        virLibDomainError (dom, VIR_ERR_INVALID_DOMAIN, __FUNCTION__);
+        return NULL;
+    }
+    return dom->conn;
+}
+
 /**
  * virDomainCreateLinux:
  * @conn: pointer to the hypervisor connection
@@ -2036,6 +2056,26 @@ virDomainDetachDevice(virDomainPtr domain, char *xml)
     return -1;
 }
 
+/**
+ * virNetworkGetConnect:
+ * @net: pointer to a network
+ *
+ * Returns the connection pointer associated with a network.  The
+ * reference counter on the connection is not increased by this
+ * call.
+ *
+ * Returns the virConnectPtr or NULL in case of failure.
+ */
+virConnectPtr
+virNetworkGetConnect (virNetworkPtr net)
+{
+    if (!VIR_IS_NETWORK (net)) {
+        virLibNetworkError (net, VIR_ERR_INVALID_NETWORK, __FUNCTION__);
+        return NULL;
+    }
+    return net->conn;
+}
+
 /**
  * virConnectNumOfNetworks:
  * @conn: pointer to the hypervisor connection
index e705bc8a23650b4c4d3c7fbe8bc82db124ac068b..9b9f18954221feafde88e0b428bee2bb09f6293b 100644 (file)
@@ -1,13 +1,14 @@
 {
     global:
         virInitialize;
+        virConnectOpen;
+        virConnectOpenReadOnly;
        virConnectClose;
        virConnectGetType;
        virConnectGetVersion;
+       virDomainGetConnect;
        virConnectListDomains;
        virConnectNumOfDomains;
-        virConnectOpen;
-        virConnectOpenReadOnly;
         virDomainCreate;
        virDomainCreateLinux;
         virDomainDefineXML;
@@ -66,6 +67,7 @@
        virDomainAttachDevice;
        virDomainDetachDevice;
 
+       virNetworkGetConnect;
        virConnectNumOfNetworks;
        virConnectListNetworks;
        virConnectNumOfDefinedNetworks;