1.4 KiB
layout | title | date | tags | permalink | published | author | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
post | Registering an enum type in GLib’s type system | 2013-01-06 02:34:03 |
|
/blog/2013/1/6/registering-an-enum-type-in-glib-s-type-system | true |
|
I faced a problem in my GLib self-teaching
project, wMUD today. I wanted to
register a signal for a GObject
, whose handler should accept two enum
parameters for which I had to register a new GEnum
type in the GObject
type
system. However, the documentation on this
feature
(thanks for pointing out goes to hashem on #gnome-hackers
) is not… uhm…
obvious. Making the long story short, I have checked with the GIO
sources for
an example, and using that, I have created this small, working chunk:
{% gist gergelypolonkai/47794b6fb94484f8160b client-state.h %}
{% gist gergelypolonkai/47794b6fb94484f8160b client-state.c %}
Still, it can be made more perfect by using the glib-mkenums tool. I will read through the GLib Makefiles tomorrow for some hints on this.
Edit: you can find the glib-mkenums solution [here]({% post_url 2014-08-16-registering-an-enum-type-in-glib-glib-mkenums-magic %}).