[libvirt] [PATCH libvirt-glib 1/6] Add GVirDomainDevice abstract class

2011-11-14 Thread Marc-André Lureau
---
 libvirt-gobject/Makefile.am|3 +
 .../libvirt-gobject-domain-device-private.h|   31 +
 libvirt-gobject/libvirt-gobject-domain-device.c|  139 
 libvirt-gobject/libvirt-gobject-domain-device.h|   64 +
 libvirt-gobject/libvirt-gobject.h  |1 +
 libvirt-gobject/libvirt-gobject.sym|2 +
 6 files changed, 240 insertions(+), 0 deletions(-)
 create mode 100644 libvirt-gobject/libvirt-gobject-domain-device-private.h
 create mode 100644 libvirt-gobject/libvirt-gobject-domain-device.c
 create mode 100644 libvirt-gobject/libvirt-gobject-domain-device.h

diff --git a/libvirt-gobject/Makefile.am b/libvirt-gobject/Makefile.am
index 4f84b8b..56a047e 100644
--- a/libvirt-gobject/Makefile.am
+++ b/libvirt-gobject/Makefile.am
@@ -7,6 +7,7 @@ GOBJECT_HEADER_FILES = \
libvirt-gobject.h \
libvirt-gobject-main.h \
libvirt-gobject-domain-snapshot.h \
+   libvirt-gobject-domain-device.h \
libvirt-gobject-domain.h \
libvirt-gobject-interface.h \
libvirt-gobject-network.h \
@@ -21,6 +22,7 @@ GOBJECT_HEADER_FILES = \
 GOBJECT_SOURCE_FILES = \
libvirt-gobject-main.c \
libvirt-gobject-domain-snapshot.c \
+   libvirt-gobject-domain-device.c \
libvirt-gobject-domain.c \
libvirt-gobject-interface.c \
libvirt-gobject-network.c \
@@ -42,6 +44,7 @@ libvirt_gobject_1_0_la_HEADERS = \
$(GOBJECT_HEADER_FILES) \
libvirt-gobject-input-stream.h
 nodist_libvirt_gobject_1_0_la_HEADERS = \
+   libvirt-gobject-domain-device-private.h \
libvirt-gobject-enums.h
 libvirt_gobject_1_0_la_SOURCES = \
$(libvirt_gobject_1_0_la_HEADERS) \
diff --git a/libvirt-gobject/libvirt-gobject-domain-device-private.h 
b/libvirt-gobject/libvirt-gobject-domain-device-private.h
new file mode 100644
index 000..2a34309
--- /dev/null
+++ b/libvirt-gobject/libvirt-gobject-domain-device-private.h
@@ -0,0 +1,31 @@
+/*
+ * libvirt-gobject-domain-device-private.h: libvirt gobject integration
+ *
+ * Copyright (C) 2011 Red Hat
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+ *
+ * Author: Marc-André Lureau marcandre.lur...@redhat.com
+ */
+#ifndef __LIBVIRT_GOBJECT_DOMAIN_DEVICE_PRIVATE_H__
+#define __LIBVIRT_GOBJECT_DOMAIN_DEVICE_PRIVATEH__
+
+G_BEGIN_DECLS
+
+virDomainPtr gvir_domain_device_get_domain_handle(GVirDomainDevice *self);
+
+G_END_DECLS
+
+#endif /* __LIBVIRT_GOBJECT_DOMAIN_DEVICE_PRIVATEH__ */
diff --git a/libvirt-gobject/libvirt-gobject-domain-device.c 
b/libvirt-gobject/libvirt-gobject-domain-device.c
new file mode 100644
index 000..ae03489
--- /dev/null
+++ b/libvirt-gobject/libvirt-gobject-domain-device.c
@@ -0,0 +1,139 @@
+/*
+ * libvirt-gobject-domain-device.c: libvirt gobject integration
+ *
+ * Copyright (C) 2011 Red Hat
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+ *
+ * Author: Marc-André Lureau marcandre.lur...@redhat.com
+ */
+
+#include config.h
+
+#include libvirt/virterror.h
+#include string.h
+
+#include libvirt-glib/libvirt-glib.h
+#include libvirt-gobject/libvirt-gobject.h
+
+#include libvirt-gobject/libvirt-gobject-domain-device-private.h
+
+extern gboolean debugFlag;
+
+#define DEBUG(fmt, ...) do { if (G_UNLIKELY(debugFlag)) 

Re: [libvirt] [PATCH libvirt-glib 1/6] Add GVirDomainDevice abstract class

2011-11-14 Thread Christophe Fergeau
ACK 1-5, please don't push 6 for now as it may cause bad conflicts with
some pending libvirt-gconfig changes. If you want to push the
libvirt-gobject bits now, let me know, I'll look at it.

Christophe


On Mon, Nov 14, 2011 at 01:50:02PM +0100, Marc-André Lureau wrote:
 ---
  libvirt-gobject/Makefile.am|3 +
  .../libvirt-gobject-domain-device-private.h|   31 +
  libvirt-gobject/libvirt-gobject-domain-device.c|  139 
 
  libvirt-gobject/libvirt-gobject-domain-device.h|   64 +
  libvirt-gobject/libvirt-gobject.h  |1 +
  libvirt-gobject/libvirt-gobject.sym|2 +
  6 files changed, 240 insertions(+), 0 deletions(-)
  create mode 100644 libvirt-gobject/libvirt-gobject-domain-device-private.h
  create mode 100644 libvirt-gobject/libvirt-gobject-domain-device.c
  create mode 100644 libvirt-gobject/libvirt-gobject-domain-device.h
 
 diff --git a/libvirt-gobject/Makefile.am b/libvirt-gobject/Makefile.am
 index 4f84b8b..56a047e 100644
 --- a/libvirt-gobject/Makefile.am
 +++ b/libvirt-gobject/Makefile.am
 @@ -7,6 +7,7 @@ GOBJECT_HEADER_FILES = \
   libvirt-gobject.h \
   libvirt-gobject-main.h \
   libvirt-gobject-domain-snapshot.h \
 + libvirt-gobject-domain-device.h \
   libvirt-gobject-domain.h \
   libvirt-gobject-interface.h \
   libvirt-gobject-network.h \
 @@ -21,6 +22,7 @@ GOBJECT_HEADER_FILES = \
  GOBJECT_SOURCE_FILES = \
   libvirt-gobject-main.c \
   libvirt-gobject-domain-snapshot.c \
 + libvirt-gobject-domain-device.c \
   libvirt-gobject-domain.c \
   libvirt-gobject-interface.c \
   libvirt-gobject-network.c \
 @@ -42,6 +44,7 @@ libvirt_gobject_1_0_la_HEADERS = \
   $(GOBJECT_HEADER_FILES) \
   libvirt-gobject-input-stream.h
  nodist_libvirt_gobject_1_0_la_HEADERS = \
 + libvirt-gobject-domain-device-private.h \
   libvirt-gobject-enums.h
  libvirt_gobject_1_0_la_SOURCES = \
   $(libvirt_gobject_1_0_la_HEADERS) \
 diff --git a/libvirt-gobject/libvirt-gobject-domain-device-private.h 
 b/libvirt-gobject/libvirt-gobject-domain-device-private.h
 new file mode 100644
 index 000..2a34309
 --- /dev/null
 +++ b/libvirt-gobject/libvirt-gobject-domain-device-private.h
 @@ -0,0 +1,31 @@
 +/*
 + * libvirt-gobject-domain-device-private.h: libvirt gobject integration
 + *
 + * Copyright (C) 2011 Red Hat
 + *
 + * This library is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU Lesser General Public
 + * License as published by the Free Software Foundation; either
 + * version 2.1 of the License, or (at your option) any later version.
 + *
 + * This library is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 + * Lesser General Public License for more details.
 + *
 + * You should have received a copy of the GNU Lesser General Public
 + * License along with this library; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
 + *
 + * Author: Marc-André Lureau marcandre.lur...@redhat.com
 + */
 +#ifndef __LIBVIRT_GOBJECT_DOMAIN_DEVICE_PRIVATE_H__
 +#define __LIBVIRT_GOBJECT_DOMAIN_DEVICE_PRIVATEH__
 +
 +G_BEGIN_DECLS
 +
 +virDomainPtr gvir_domain_device_get_domain_handle(GVirDomainDevice *self);
 +
 +G_END_DECLS
 +
 +#endif /* __LIBVIRT_GOBJECT_DOMAIN_DEVICE_PRIVATEH__ */
 diff --git a/libvirt-gobject/libvirt-gobject-domain-device.c 
 b/libvirt-gobject/libvirt-gobject-domain-device.c
 new file mode 100644
 index 000..ae03489
 --- /dev/null
 +++ b/libvirt-gobject/libvirt-gobject-domain-device.c
 @@ -0,0 +1,139 @@
 +/*
 + * libvirt-gobject-domain-device.c: libvirt gobject integration
 + *
 + * Copyright (C) 2011 Red Hat
 + *
 + * This library is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU Lesser General Public
 + * License as published by the Free Software Foundation; either
 + * version 2.1 of the License, or (at your option) any later version.
 + *
 + * This library is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 + * Lesser General Public License for more details.
 + *
 + * You should have received a copy of the GNU Lesser General Public
 + * License along with this library; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
 + *
 + * Author: Marc-André Lureau