gst/gstdata.c (gst_data_get_type): New function, register
authorJohan Dahlin <johan@gnome.org>
Fri, 27 Feb 2004 17:58:24 +0000 (17:58 +0000)
committerJohan Dahlin <johan@gnome.org>
Fri, 27 Feb 2004 17:58:24 +0000 (17:58 +0000)
Original commit message from CVS:
* gst/gstdata.c (gst_data_get_type): New function, register
GstData as a GBoxed type.

* gst/gstdata.h (GST_TYPE_DATA): New macro

ChangeLog
gst/gstdata.c
gst/gstdata.h

index d1cf0f1bcb6c4c9ae73586453e2876bf5b654c2f..e0a1d64d4168e7aee06f21ec4c4b87a2ab5ec441 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-02-27  Johan Dahlin  <johan@gnome.org>
+
+       * gst/gstdata.c (gst_data_get_type): New function, register
+       GstData as a GBoxed type.
+
+       * gst/gstdata.h (GST_TYPE_DATA): New macro
+
 2004-02-27  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * Makefile.am:
index 0e6fe6405fb322fa4efab77ae9ca56a4d43f05ea..eaa269166a636dbd50796a74be19f38f05c0c95c 100644 (file)
 #include "gstdata_private.h"
 #include "gstinfo.h"
 
+GType
+gst_data_get_type (void)
+{
+  static GType type = 0;
+  
+  if (!type)
+    type = g_boxed_type_register_static ("GstData",
+                                        (GBoxedCopyFunc) gst_data_copy,
+                                        (GBoxedFreeFunc) gst_data_free);
+    return type;
+}
+
 /**
  * gst_data_init:
  * @data: a #GstData to initialize
index 14d4b75a5d3e0b724516caa36102d8198a8fc43f..a9e30509c5bbc6af365bb5cb5e3cc90cb7eb71eb 100644 (file)
@@ -41,6 +41,9 @@ G_BEGIN_DECLS
 #define GST_DATA_FLAG_SET(data,flag)   G_STMT_START{ (GST_DATA_FLAGS(data) |= (1<<(flag))); }G_STMT_END
 #define GST_DATA_FLAG_UNSET(data,flag)         G_STMT_START{ (GST_DATA_FLAGS(data) &= ~(1<<(flag))); }G_STMT_END
 
+/* Macros for the GType */
+#define GST_TYPE_DATA                   (gst_data_get_type ())
+
 typedef struct _GstData GstData;
 
 typedef void           (*GstDataFreeFunction)          (GstData *data);
@@ -96,6 +99,9 @@ GstData*              gst_data_ref                    (GstData* data);
 GstData*               gst_data_ref_by_count           (GstData* data, gint count);
 void                   gst_data_unref                  (GstData* data);
 
+/* GType for GstData */
+GType                   gst_data_get_type               (void) G_GNUC_CONST;
+
 G_END_DECLS
 
 #endif /* __GST_DATA_H__ */