On 08/03/2017 08:35 PM, Dawid Zamirski wrote:
* add libvirt-connection.h and libvirt-connection.c
* move all libvirt_connect_* function declarations and definitions to
above files
* other minor adjusments to libvirt-php.h and util.h to keep the code
compilable while the code is being moved around.
---
src/Makefile.am | 3 +-
src/libvirt-connection.c | 885 +++++++++++++++++++++++++++++++++++++++++++++
src/libvirt-connection.h | 83 +++++
src/libvirt-php.c | 919 +----------------------------------------------
src/libvirt-php.h | 95 ++---
src/util.h | 7 -
6 files changed, 1025 insertions(+), 967 deletions(-)
create mode 100644 src/libvirt-connection.c
create mode 100644 src/libvirt-connection.h
diff --git a/src/Makefile.am b/src/Makefile.am
index bbee667..0819dc6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -21,7 +21,8 @@ libvirt_php_la_SOURCES = \
util.c util.h \
vncfunc.c vncfunc.h \
sockets.c sockets.h \
- libvirt-php.c libvirt-php.h
+ libvirt-php.c libvirt-php.h \
+ libvirt-connection.c libvirt-connection.h
libvirt_php_la_CFLAGS = \
$(AM_CFLAGS) \
-DCOMPILE_DL_LIBVIRT=1
diff --git a/src/libvirt-connection.c b/src/libvirt-connection.c
new file mode 100644
index 0000000..bcebd44
--- /dev/null
+++ b/src/libvirt-connection.c
@@ -0,0 +1,885 @@
+/*
+ * libvirt-connection.c: The PHP bindings to libvirt connection API
+ *
+ * See COPYING for the license of this software
+ */
+
+#include <libvirt/libvirt.h>
+
+#include "libvirt-connection.h"
+
+DEBUG_INIT("connection");
+
+/*
+ * Private function name: free_resources_on_connection
+ * Since version: 0.4.2
+ * Description: Function is used to free all the resources assigned to the
connection identified by conn
+ * Arguments: @conn [virConnectPtr]: libvirt connection pointer
+ * Returns: None
+ */
+static void
+free_resources_on_connection(virConnectPtr conn TSRMLS_DC)
+{
+ int binding_resources_count = 0;
+ resource_info *binding_resources;
+ int i;
+
+ binding_resources_count = LIBVIRT_G(binding_resources_count);
+ binding_resources = LIBVIRT_G(binding_resources);
+
+ for (i = 0; i < binding_resources_count; i++) {
+ if ((binding_resources[i].overwrite == 0) && (binding_resources[i].conn
== conn))
+ free_resource(binding_resources[i].type, binding_resources[i].mem
TSRMLS_CC);
+ }
+}
I'm getting a lot of compile errors after this patch. For instance:
libvirt-connection.c: In function ‘free_resources_on_connection’:
libvirt-connection.c:24:5: error: unknown type name ‘resource_info’
resource_info *binding_resources;
^
I'm moving the fix from the next patch into this one.
Michal