ges: Add a runtime version checking function
authorThibault Saunier <thibault.saunier@collabora.com>
Mon, 26 Dec 2011 01:54:29 +0000 (02:54 +0100)
committerThibault Saunier <thibault.saunier@collabora.com>
Wed, 11 Jan 2012 14:56:17 +0000 (11:56 -0300)
Bind it in python

API: ges_version

bindings/python/ges.defs
bindings/python/ges.override
docs/libs/ges-sections.txt
ges/ges.c
ges/ges.h

index e05e427..5536e63 100644 (file)
   (return-type "gboolean")
 )
 
+(define-function version
+  (c-name "ges_version")
+  (return-type "none")
+  (parameters
+    '("guint*" "major")
+    '("guint*" "minor")
+    '("guint*" "micro")
+    '("guint*" "nano")
+  )
+)
 
 
 ;; From ges-internal.h
index fc97dd0..e3e68e3 100644 (file)
@@ -417,6 +417,25 @@ _wrap_ges_track_object_list_children_properties (PyGObject *self)
 }
 
 %%
+override ges_version noargs
+static PyObject *
+_wrap_ges_version (PyObject *self)
+{
+    guint      major, minor, micro, nano;
+    PyObject   *py_tuple;
+
+    ges_version (&major, &minor, &micro, &nano);
+    py_tuple = PyTuple_New(4);
+    PyTuple_SetItem(py_tuple, 0, PyInt_FromLong(major));
+    PyTuple_SetItem(py_tuple, 1, PyInt_FromLong(minor));
+    PyTuple_SetItem(py_tuple, 2, PyInt_FromLong(micro));
+    PyTuple_SetItem(py_tuple, 3, PyInt_FromLong(nano));
+
+    return py_tuple;
+}
+
+
+%%
 ignore-glob
 
   *_get_type
index f7e5af2..cab3976 100644 (file)
@@ -4,6 +4,7 @@
 <FILE>ges-common</FILE>
 <TITLE>Initialization</TITLE>
 ges_init
+ges_version
 <SUBSECTION Standard>
 GES_PADDING
 </SECTION>
index 237e579..73374f9 100644 (file)
--- a/ges/ges.c
+++ b/ges/ges.c
@@ -83,3 +83,27 @@ ges_init (void)
 
   return TRUE;
 }
+
+
+/**
+ * ges_version:
+ * @major: (out): pointer to a guint to store the major version number
+ * @minor: (out): pointer to a guint to store the minor version number
+ * @micro: (out): pointer to a guint to store the micro version number
+ * @nano:  (out): pointer to a guint to store the nano version number
+ *
+ * Gets the version number of the GStreamer Editing Services library.
+ */
+void
+ges_version (guint * major, guint * minor, guint * micro, guint * nano)
+{
+  g_return_if_fail (major);
+  g_return_if_fail (minor);
+  g_return_if_fail (micro);
+  g_return_if_fail (nano);
+
+  *major = GES_VERSION_MAJOR;
+  *minor = GES_VERSION_MINOR;
+  *micro = GES_VERSION_MICRO;
+  *nano = GES_VERSION_NANO;
+}
index 123da7a..5e0214d 100644 (file)
--- a/ges/ges.h
+++ b/ges/ges.h
 
 G_BEGIN_DECLS
 
-gboolean ges_init (void);
+#define GES_VERSION_MAJOR (0)
+#define GES_VERSION_MINOR (10)
+#define GES_VERSION_MICRO (1)
+#define GES_VERSION_NANO (1)
+
+gboolean ges_init    (void);
+
+void     ges_version (guint * major, guint * minor, guint * micro,
+                      guint * nano);
 
 G_END_DECLS