summaryrefslogtreecommitdiffstats
path: root/avahi-gobject
diff options
context:
space:
mode:
authorAlan Knowles <alan@akkbhome.com>2010-06-27 02:55:13 +0200
committerLennart Poettering <lennart@poettering.net>2010-06-27 03:00:59 +0200
commit4ded79d54dd514c7f7d711e38ec4277f4427c78e (patch)
tree6c495ab96535f2907f031500520798fd667346cf /avahi-gobject
parented11c6a4d4da379ff9ebccb7a0340e64232efabb (diff)
gobject: implement gobject introspection
Diffstat (limited to 'avahi-gobject')
-rw-r--r--avahi-gobject/.gitignore2
-rw-r--r--avahi-gobject/AvahiCore-0.6.gir59
-rw-r--r--avahi-gobject/Makefile.am30
3 files changed, 90 insertions, 1 deletions
diff --git a/avahi-gobject/.gitignore b/avahi-gobject/.gitignore
index 1466c78..402b45c 100644
--- a/avahi-gobject/.gitignore
+++ b/avahi-gobject/.gitignore
@@ -1,3 +1,5 @@
+*.typelib
+Avahi-0.6.gir
ga-*-enumtypes.c
ga-*-enumtypes.h
*.o
diff --git a/avahi-gobject/AvahiCore-0.6.gir b/avahi-gobject/AvahiCore-0.6.gir
new file mode 100644
index 0000000..8b25fc1
--- /dev/null
+++ b/avahi-gobject/AvahiCore-0.6.gir
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<repository version="1.0"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <namespace name="AvahiCore" version="0.6" shared-library="avahi-core">
+ <alias name="IfIndex" target="int" c:type="AvahiIfIndex"/>
+ <enumeration name="Protocol" c:type="AvahiProtocol">
+ <member name="inet"
+ value="0"
+ c:identifier="AVAHI_PROTO_INET"/>
+ <member name="inet6"
+ value="1"
+ c:identifier="AVAHI_PROTO_INET6"/>
+ <member name="unspec"
+ value="-1"
+ c:identifier="AVAHI_PROTO_UNSPEC"/>
+ </enumeration>
+ <bitfield name="PublishFlags" c:type="AvahiPublishFlags">
+ <member name="unique"
+ value="1"
+ c:identifier="AVAHI_PUBLISH_UNIQUE"/>
+ <member name="no_probe"
+ value="2"
+ c:identifier="AVAHI_PUBLISH_NO_PROBE"/>
+ <member name="no_announce"
+ value="4"
+ c:identifier="AVAHI_PUBLISH_NO_ANNOUNCE"/>
+ <member name="allow_multiple"
+ value="8"
+ c:identifier="AVAHI_PUBLISH_ALLOW_MULTIPLE"/>
+ <member name="no_reverse"
+ value="16"
+ c:identifier="AVAHI_PUBLISH_NO_reverse"/>
+ <member name="no_cookie"
+ value="32"
+ c:identifier="AVAHI_PUBLISH_NO_cookie"/>
+ <member name="update"
+ value="64"
+ c:identifier="AVAHI_PUBLISH_UPDATE"/>
+ <member name="use_wide_area"
+ value="128"
+ c:identifier="AVAHI_PUBLISH_USE_WIDE_AREA"/>
+ <member name="use_multicast"
+ value="256"
+ c:identifier="AVAHI_PUBLISH_USE_MULTICAST"/>
+ </bitfield>
+ <record name="StringList" c:type="AvahiStringList"/>
+ <record name="Address" c:type="AvahiAddress"/>
+ <record name="Client" c:type="AvahiClient"/>
+ <function name="server_get_host_name" c:identifier="avahi_server_get_host_name">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="char8"/>
+ </return-value>
+ <parameters>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/avahi-gobject/Makefile.am b/avahi-gobject/Makefile.am
index bfb3393..02f2b94 100644
--- a/avahi-gobject/Makefile.am
+++ b/avahi-gobject/Makefile.am
@@ -20,6 +20,9 @@ AM_CFLAGS=-I$(top_srcdir)
# This cool debug trap works on i386/gcc only
AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")'
+EXTRA_DIST = \
+ AvahiCore-0.6.gir
+
if HAVE_GOBJECT
if HAVE_DBUS
@@ -88,7 +91,6 @@ signals-marshal.h: signals-marshal.list
signals-marshal.c: signals-marshal.list
$(AM_V_GEN)(echo "#include \"signals-marshal.h\"" ; glib-genmarshal --body --prefix=_ga_signals_marshal $< ) > $@
-
# rules for making the glib enum objects
%-enumtypes.h: %.h Makefile.in
$(AM_V_GEN)glib-mkenums \
@@ -107,6 +109,32 @@ signals-marshal.c: signals-marshal.list
--vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
$< > $@
+-include $(INTROSPECTION_MAKEFILE)
+INTROSPECTION_GIRS =
+INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir)
+INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
+
+if HAVE_INTROSPECTION
+introspection_sources = $(libavahi_gobject_la_SOURCES)
+
+Avahi-0.6.gir: $(lib_LTLIBRARIES)
+Avahi_0_6_gir_INCLUDES = GObject-2.0 AvahiCore-0.6
+Avahi_0_6_gir_CFLAGS = $(libavahi_gobject_la_CFLAGS)
+Avahi_0_6_gir_LIBS = $(lib_LTLIBRARIES)
+Avahi_0_6_gir_FILES = $(addprefix $(srcdir)/, $(CORE_SOURCES)) $(BUILT_SOURCES)
+Avahi_0_6_gir_SCANNERFLAGS = --strip-prefix=Ga
+INTROSPECTION_GIRS += Avahi-0.6.gir
+INTROSPECTION_INSTALL_GIRS = AvahiCore-0.6.gir $(INTROSPECTION_GIRS)
+
+girdir = $(datadir)/gir-1.0
+gir_DATA = $(INTROSPECTION_INSTALL_GIRS)
+
+typelibdir = $(libdir)/girepository-1.0
+typelib_DATA = $(INTROSPECTION_INSTALL_GIRS:.gir=.typelib)
+
+CLEANFILES += $(INTROSPECTION_GIRS) $(typelib_DATA)
+endif
+
endif
endif