[libvirt] [libvirt-glib v2 1/3] gobject: Drop redundant glib compatibility code

Zeeshan Ali (Khattak) zeeshanak at gnome.org
Fri Nov 20 21:06:28 UTC 2015


We already require and use glib >= 2.36 so there is no reason to keep
around code to ensure compatibility with glib older than that.
---
 libvirt-gobject/libvirt-gobject-compat.c | 87 --------------------------------
 libvirt-gobject/libvirt-gobject-compat.h | 73 ---------------------------
 2 files changed, 160 deletions(-)

diff --git a/libvirt-gobject/libvirt-gobject-compat.c b/libvirt-gobject/libvirt-gobject-compat.c
index 14b5eb3..e91b018 100644
--- a/libvirt-gobject/libvirt-gobject-compat.c
+++ b/libvirt-gobject/libvirt-gobject-compat.c
@@ -17,93 +17,6 @@
 
 #include "libvirt-gobject-compat.h"
 
-#if !GLIB_CHECK_VERSION(2,28,0)
-/**
- * g_simple_async_result_take_error: (skip)
- * @simple: a #GSimpleAsyncResult
- * @error: a #GError
- *
- * Sets the result from @error, and takes over the caller's ownership
- * of @error, so the caller does not need to free it any more.
- *
- * Since: 2.28
- **/
-G_GNUC_INTERNAL void
-g_simple_async_result_take_error (GSimpleAsyncResult *simple,
-                                  GError             *error)
-{
-    /* this code is different from upstream */
-    /* we can't avoid extra copy/free, since the simple struct is
-       opaque */
-    g_simple_async_result_set_from_error (simple, error);
-    g_error_free (error);
-}
-
-/**
- * g_simple_async_result_new_take_error: (skip)
- * @source_object: (allow-none): a #GObject, or %NULL
- * @callback: (scope async): a #GAsyncReadyCallback
- * @user_data: (closure): user data passed to @callback
- * @error: a #GError
- *
- * Creates a #GSimpleAsyncResult from an error condition, and takes over the
- * caller's ownership of @error, so the caller does not need to free it anymore.
- *
- * Returns: a #GSimpleAsyncResult
- *
- * Since: 2.28
- **/
-GSimpleAsyncResult *
-g_simple_async_result_new_take_error(GObject *source_object,
-                                     GAsyncReadyCallback callback,
-                                     gpointer user_data,
-                                     GError *error)
-{
-    GSimpleAsyncResult *simple;
-
-    g_return_val_if_fail(!source_object || G_IS_OBJECT(source_object), NULL);
-
-    simple = g_simple_async_result_new(source_object,
-                                       callback,
-                                       user_data, NULL);
-    g_simple_async_result_take_error(simple, error);
-
-    return simple;
-}
-
-/**
- * g_simple_async_report_take_gerror_in_idle: (skip)
- * @object: (allow-none): a #GObject, or %NULL
- * @callback: a #GAsyncReadyCallback.
- * @user_data: user data passed to @callback.
- * @error: the #GError to report
- *
- * Reports an error in an idle function. Similar to
- * g_simple_async_report_gerror_in_idle(), but takes over the caller's
- * ownership of @error, so the caller does not have to free it any more.
- *
- * Since: 2.28
- **/
-void
-g_simple_async_report_take_gerror_in_idle(GObject *object,
-                                          GAsyncReadyCallback callback,
-                                          gpointer user_data,
-                                          GError *error)
-{
-    GSimpleAsyncResult *simple;
-
-    g_return_if_fail(!object || G_IS_OBJECT(object));
-    g_return_if_fail(error != NULL);
-
-    simple = g_simple_async_result_new_take_error(object,
-                                                  callback,
-                                                  user_data,
-                                                  error);
-    g_simple_async_result_complete_in_idle(simple);
-    g_object_unref(simple);
-}
-#endif
-
 GMutex *gvir_mutex_new(void)
 {
     GMutex *mutex;
diff --git a/libvirt-gobject/libvirt-gobject-compat.h b/libvirt-gobject/libvirt-gobject-compat.h
index 2e87966..27fa305 100644
--- a/libvirt-gobject/libvirt-gobject-compat.h
+++ b/libvirt-gobject/libvirt-gobject-compat.h
@@ -35,77 +35,4 @@ GMutex *gvir_mutex_new(void);
 
 #endif
 
-#if !GLIB_CHECK_VERSION(2,26,0)
-#define G_DEFINE_BOXED_TYPE(TypeName, type_name, copy_func, free_func) G_DEFINE_BOXED_TYPE_WITH_CODE (TypeName, type_name, copy_func, free_func, {})
-#define G_DEFINE_BOXED_TYPE_WITH_CODE(TypeName, type_name, copy_func, free_func, _C_) _G_DEFINE_BOXED_TYPE_BEGIN (TypeName, type_name, copy_func, free_func) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-#define _G_DEFINE_BOXED_TYPE_BEGIN(TypeName, type_name, copy_func, free_func) \
-GType \
-type_name##_get_type (void) \
-{ \
-  static volatile gsize g_define_type_id__volatile = 0; \
-  if (g_once_init_enter (&g_define_type_id__volatile))  \
-    { \
-      GType (* _g_register_boxed) \
-        (const gchar *, \
-         union \
-           { \
-             TypeName * (*do_copy_type) (TypeName *); \
-             TypeName * (*do_const_copy_type) (const TypeName *); \
-             GBoxedCopyFunc do_copy_boxed; \
-           } __attribute__((__transparent_union__)), \
-         union \
-           { \
-             void (* do_free_type) (TypeName *); \
-             GBoxedFreeFunc do_free_boxed; \
-           } __attribute__((__transparent_union__)) \
-        ) = g_boxed_type_register_static; \
-      GType g_define_type_id = \
-        _g_register_boxed (g_intern_static_string (#TypeName), copy_func, free_func); \
-      { /* custom code follows */
-#else
-#define _G_DEFINE_BOXED_TYPE_BEGIN(TypeName, type_name, copy_func, free_func) \
-GType \
-type_name##_get_type (void) \
-{ \
-  static volatile gsize g_define_type_id__volatile = 0; \
-  if (g_once_init_enter (&g_define_type_id__volatile))  \
-    { \
-      GType g_define_type_id = \
-        g_boxed_type_register_static (g_intern_static_string (#TypeName), \
-                                      (GBoxedCopyFunc) copy_func, \
-                                      (GBoxedFreeFunc) free_func); \
-      { /* custom code follows */
-#endif /* __GNUC__ */
-#endif /* glib 2.26 */
-
-#if !GLIB_CHECK_VERSION(2,28,0)
-#define g_clear_object(object_ptr) \
-  G_STMT_START {                                                             \
-    /* Only one access, please */                                            \
-    gpointer *_p = (gpointer) (object_ptr);                                  \
-    gpointer _o;                                                             \
-                                                                             \
-    do                                                                       \
-      _o = g_atomic_pointer_get (_p);                                        \
-    while G_UNLIKELY (!g_atomic_pointer_compare_and_exchange (_p, _o, NULL));\
-                                                                             \
-    if (_o)                                                                  \
-      g_object_unref (_o);                                                   \
-  } G_STMT_END
-
-void
-g_simple_async_result_take_error(GSimpleAsyncResult *simple,
-                                 GError             *error);
-GSimpleAsyncResult *g_simple_async_result_new_take_error (GObject                 *source_object,
-                                                          GAsyncReadyCallback      callback,
-                                                          gpointer                 user_data,
-                                                          GError                  *error);
-void g_simple_async_report_take_gerror_in_idle (GObject            *object,
-                                                GAsyncReadyCallback callback,
-                                                gpointer            user_data,
-                                                GError             *error);
-#endif /* glib 2.28 */
-
-
 #endif /* __LIBVIRT_GOBJECT_COMPAT_H__ */
-- 
2.5.0




More information about the libvir-list mailing list