Re: [PATCH 2/3] Consolidate NativeGObjectSafePtr definitions (was: Review of patch #730243 - Port to vte-2.91)



Hey Dodji,

Yes, this looks good to me.

On Mon, Jul 07, 2014 at 09:54:31PM +0200, Dodji Seketeli wrote:
diff --git a/src/common/nmv-safe-ptr-utils.h b/src/common/nmv-safe-ptr-utils.h
index fdeb350..72211e8 100644
--- a/src/common/nmv-safe-ptr-utils.h
+++ b/src/common/nmv-safe-ptr-utils.h
@@ -30,7 +30,7 @@
 #ifndef __NMV_SAFE_PTR_UTILS_H__
 #define __NMV_SAFE_PTR_UTILS_H__
 
-#include <glib.h>
+#include <glib-object.h>
 #include "nmv-object.h"
 #include "nmv-safe-ptr.h"
 #include "nmv-namespace.h"
@@ -115,11 +115,32 @@ struct GErrorUnref {
     }
 };
 
+struct RefGObjectNative {
+    void operator () (void *a_object)
+    {
+        if (a_object && G_IS_OBJECT (a_object)) {
+            g_object_ref (G_OBJECT (a_object));
+        }
+    }
+};
+
+struct UnrefGObjectNative {
+    void operator () (void *a_object)
+    {
+        if (a_object && G_IS_OBJECT (a_object)) {
+            g_object_unref (G_OBJECT (a_object));
+        }
+    }
+};
+
 typedef SafePtr <gchar, CharsRef, GCharUnref> GCharSafePtr;
 typedef SafePtr <Object, ObjectRef, ObjectUnref> ObjectSafePtr;
 typedef SafePtr <gchar, CharsRef, DelCharsUnref> CharSafePtr;
 typedef SafePtr <gunichar, UnicharsRef, DelUnicharsUnref> UnicharSafePtr;
 typedef SafePtr<GError, GErrorRef, GErrorUnref> GErrorSafePtr;
+typedef SafePtr<void*,
+                RefGObjectNative,
+                UnrefGObjectNative> NativeGObjectSafePtr;

Should there be a space between SafePtr and < ?

Happy hacking,
Debarshi

-- 
It has its possibilities but I am bound by my limitations.  -- Vivek Shah

Attachment: pgpw70wdKGYfx.pgp
Description: PGP signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]