mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-25 21:00:09 +01:00
instead of marshal basic so we can handle recursive types in a variant * test/glib/test-dbus-glib.c: Add test for marshaling recurive types in variants * test/glib/test-service-glib.c, test-service-glib.xml (my_object_echo_variant [EchoVariant], my_object_process_variant_of_array_of_ints123 [ProcessVariantOfArrayOfInts123]): Add two test methods * python/introspect_parser.py: New module for parsing introspect data. * python/dbus_bindings.pyx: (various places): when throwing errors fix to use errormsg instead of message local variable because Pyrex can get confused with other message variables (initial patch by Robert McQueen <robert.mcqueen at collabora.co.uk>) (MessageIter::parse_signature_block): new method for getting the next block in a signiture. (MessageIter::append_strict): new method for appending values strictly using the passed in signature instead of guessing at the type (MessageItter:: append_dict, append_struct, append_array): use signatures to marshal children if the signature is available * python/exceptions.py (IntrospectionParserException): new exception * python/proxies.py (ProxyMethod::__call__): Marshal args with introspected signatures if available, else we fall back to the old way of doing things. (ProxyObject::_introspect_reply_handler ): parse introspection data * python/service.py (ObjectType::_reflect_on_method): Properly terminate <method> if there are no args in the reflection data * test/python/test-client.py: add tests for talking with the GLib test server. This gives us better coverage for introspection since python to python will always generate arguments as variants. It also allows us to test the robustness of the GLib bindings and interlanguage communications.
56 lines
1.7 KiB
Makefile
56 lines
1.7 KiB
Makefile
SUBDIRS=examples
|
|
|
|
INCLUDES=-I$(srcdir)/$(top_builddir) -I$(srcdir)/$(top_builddir)/dbus $(DBUS_CLIENT_CFLAGS) $(PYTHON_INCLUDES) -DDBUS_COMPILATION=1
|
|
|
|
dbusmoduledir = $(pyexecdir)
|
|
dbusmodule_PYTHON = dbus.pth
|
|
|
|
dbusdir = $(pyexecdir)/dbus
|
|
dbus_PYTHON = \
|
|
__init__.py \
|
|
_dbus.py \
|
|
decorators.py \
|
|
exceptions.py \
|
|
service.py \
|
|
proxies.py \
|
|
_util.py \
|
|
types.py \
|
|
matchrules.py \
|
|
glib.py \
|
|
introspect_parser.py
|
|
|
|
dbusbindingsdir = $(pyexecdir)/dbus
|
|
dbusbindings_LTLIBRARIES = dbus_bindings.la dbus_glib_bindings.la
|
|
|
|
dbus_bindings_la_LDFLAGS = -module -avoid-version -fPIC -export-symbols-regex initdbus_bindings
|
|
dbus_bindings_la_LIBADD = $(top_builddir)/dbus/libdbus-1.la
|
|
nodist_dbus_bindings_la_SOURCES = dbus_bindings.c
|
|
|
|
dbus_glib_bindings_la_LDFLAGS = -module -avoid-version -fPIC -export-symbols-regex initdbus_glib_bindings
|
|
dbus_glib_bindings_la_LIBADD = $(top_builddir)/dbus/libdbus-1.la $(top_builddir)/glib/libdbus-glib-1.la
|
|
dbus_glib_bindings_la_CFLAGS = $(DBUS_GLIB_CFLAGS) $(DBUS_GLIB_TOOL_CFLAGS)
|
|
nodist_dbus_glib_bindings_la_SOURCES = dbus_glib_bindings.c
|
|
|
|
|
|
EXTRA_DIST = \
|
|
dbus_h_wrapper.h \
|
|
dbus_bindings.pyx \
|
|
dbus_glib_bindings.pyx \
|
|
dbus_bindings.pxd.in \
|
|
extract.py
|
|
|
|
CLEANFILES = \
|
|
dbus_bindings.pxd \
|
|
dbus_bindings.c \
|
|
dbus_glib_bindings.c
|
|
|
|
|
|
dbus_bindings.pxd: $(srcdir)/dbus_bindings.pxd.in $(srcdir)/extract.py
|
|
-$(PYTHON) $(srcdir)/extract.py $(srcdir)/dbus_bindings.pxd.in -I$(srcdir)/$(top_builddir) -I$(srcdir) > $@.tmp && mv $@.tmp $@
|
|
|
|
dbus_bindings.c: $(srcdir)/dbus_bindings.pyx dbus_bindings.pxd
|
|
pyrexc $(srcdir)/dbus_bindings.pyx -I. -o ./dbus_bindings.c
|
|
|
|
dbus_glib_bindings.c: $(srcdir)/dbus_glib_bindings.pyx dbus_bindings.pxd
|
|
pyrexc $(srcdir)/dbus_glib_bindings.pyx -I. -o ./dbus_glib_bindings.c
|
|
|