]> git.ipfire.org Git - thirdparty/dbus.git/commit
2005-01-15 Havoc Pennington <hp@redhat.com>
authorHavoc Pennington <hp@redhat.com>
Sat, 15 Jan 2005 07:15:38 +0000 (07:15 +0000)
committerHavoc Pennington <hp@redhat.com>
Sat, 15 Jan 2005 07:15:38 +0000 (07:15 +0000)
commit9c3d566e95c9080f6040c64531b0ccae22bd5d74
treed21a18baa5a5ee9855c8a00eb2c1985bc23ca65f
parent6ec04e917c8b4d477e818aa65ebb5e1fd50e4395
2005-01-15  Havoc Pennington  <hp@redhat.com>

* Land the new message args API and type system.

This patch is huge, but the public API change is not
really large. The set of D-BUS types has changed somewhat,
and the arg "getters" are more geared toward language bindings;
they don't make a copy, etc.

There are also some known issues. See these emails for details
on this huge patch:
http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
        http://lists.freedesktop.org/archives/dbus/2005-January/001922.html

* dbus/dbus-marshal-*: all the new stuff

* dbus/dbus-message.c: basically rewritten

* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
freed blocks to be all non-nul bytes so using freed memory is less
likely to work right

* dbus/dbus-internals.c (_dbus_test_oom_handling): add
DBUS_FAIL_MALLOC=N environment variable, so you can do
DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
thorough.

* qt/message.cpp: port to the new message args API
(operator<<): use str.utf8() rather than str.unicode()
(pretty sure this is right from the Qt docs?)

* glib/dbus-gvalue.c: port to the new message args API

* bus/dispatch.c, bus/driver.c: port to the new message args API

* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
"locked" flag to TRUE and align_offset to 0; I guess we never
looked at these anyhow, but seems cleaner.

* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
move allocation padding macro to this header; use it to implement
(_DBUS_STRING_STATIC): ability to declare a static string.

* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
change to return TRUE if the interface is not set.

* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
to dbus-marshal-validate.[hc]

* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
dbus-internals.c

* dbus/Makefile.am: cut over from dbus-marshal.[hc]
to dbus-marshal-*.[hc]

* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
function here from dbus-marshal.c
56 files changed:
ChangeLog
HACKING
bus/activation.c
bus/connection.c
bus/dispatch.c
bus/driver.c
bus/services.c
bus/signals.c
dbus/.cvsignore
dbus/Makefile.am
dbus/dbus-auth-script.c
dbus/dbus-bus.c
dbus/dbus-connection.c
dbus/dbus-internals.c
dbus/dbus-internals.h
dbus/dbus-mainloop.c
dbus/dbus-marshal-basic.c
dbus/dbus-marshal-basic.h
dbus/dbus-marshal-header.c [new file with mode: 0644]
dbus/dbus-marshal-header.h [new file with mode: 0644]
dbus/dbus-marshal-recursive.c
dbus/dbus-marshal-recursive.h
dbus/dbus-marshal-validate.c
dbus/dbus-marshal-validate.h
dbus/dbus-marshal.c [deleted file]
dbus/dbus-marshal.h [deleted file]
dbus/dbus-memory.c
dbus/dbus-message-builder.c
dbus/dbus-message-internal.h
dbus/dbus-message.c
dbus/dbus-message.h
dbus/dbus-object-tree.c
dbus/dbus-object-tree.h
dbus/dbus-protocol-new.h [deleted file]
dbus/dbus-protocol.h
dbus/dbus-sha.c
dbus/dbus-string.c
dbus/dbus-string.h
dbus/dbus-test.c
dbus/dbus-test.h
doc/TODO
glib/dbus-gobject.c
glib/dbus-gproxy.c
glib/dbus-gutils.c
glib/dbus-gvalue.c
qt/message.cpp
test/Makefile.am
test/break-loader.c
test/glib/run-test.sh
test/glib/test-dbus-glib.c
test/glib/test-profile.c
test/glib/test-thread-client.c
test/glib/test-thread-server.c
test/test-service.c
tools/dbus-print-message.c
tools/dbus-send.c