ges: Add a runtime version checking function

Bind it in python

API: ges_version
This commit is contained in:
Thibault Saunier 2011-12-26 02:54:29 +01:00
parent 6c242b8cb1
commit ba57355d95
5 changed files with 63 additions and 1 deletions

View file

@ -541,6 +541,16 @@
(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

View file

@ -416,6 +416,25 @@ _wrap_ges_track_object_list_children_properties (PyGObject *self)
return list;
}
%%
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

View file

@ -4,6 +4,7 @@
<FILE>ges-common</FILE>
<TITLE>Initialization</TITLE>
ges_init
ges_version
<SUBSECTION Standard>
GES_PADDING
</SECTION>

View file

@ -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;
}

View file

@ -69,7 +69,15 @@
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