commit 02b44f8427ea48463d7b9f2a9f7099be7643b60d Author: Simon McVittie Date: 2013-02-25 12:24:35 +0000 0.102: respin tarball configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 78f3e953e4a05a1126874dd2ca6cec5777a15b3b Author: Simon McVittie Date: 2013-02-15 12:37:04 +0000 0.100.1 point release configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 166978a09cf5edff4028e670b6074215a4c75eca Author: Colin Walters Date: 2013-02-14 10:19:34 -0500 CVE-2013-0292: dbus-gproxy: Verify sender of NameOwnerChanged signals to be o.f.DBus Anyone can hop on the bus and emit a signal whose interface is o.f.DBus; it's expected at the moments that clients (and notably DBus libraries) check the sender. This could previously be used to trick a system service using dbus-glib into thinking a malicious signal came from a privileged source, by claiming that ownership of the privileged source's well-known name had changed from the privileged source's real unique name to the attacker's unique name. [altered to be NULL-safe so it won't crash on peer connections -smcv] Signed-off-by: Simon McVittie Reviewed-by: Simon McVittie dbus/dbus-gproxy.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit c6cbdf9ed99f82983dd529319475dd02c53ad2aa Author: Simon McVittie Date: 2012-06-25 18:23:30 +0100 Fix builds without tests test/manual/Makefile.am | 5 +++++ 1 file changed, 5 insertions(+) commit a0dd0c8c240896a5dd205c1dbc51924b9d41f833 Author: Simon McVittie Date: 2012-06-25 17:26:48 +0100 Prepare version 0.100 configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 8b7e4a1c4ae055864e26db4addbcc2dc38ee6963 Author: Simon McVittie Date: 2012-04-16 12:11:38 +0100 Fix two crashes when dbus_g_proxy_new_for_peer is used on a bus The first part of the bug is that when NameOwnerChanged is received with a dbus_g_proxy_new_for_peer (which has no name) alive, checking whether it was affected by the NameOwnerChanged caused a NULL dereference and segfault. The second part of the bug is that if the last proxy in existence is for a peer, when it was unregistered there would be no owner_match_rules, causing a crash. Both are exercised in the new test added here. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=41126 Signed-off-by: Simon McVittie Reviewed-by: Will Thompson .gitignore | 1 + dbus/dbus-gproxy.c | 5 +- test/core/Makefile.am | 3 + test/core/peer-on-bus.c | 148 +++++++++++++++++++++++++++++++++++++++++++++++ test/core/run-test.sh | 1 + 5 files changed, 156 insertions(+), 2 deletions(-) commit 82d45d15088d206f1e1f024215e95301fa04e92c Author: Simon McVittie Date: 2012-04-16 12:10:37 +0100 Add a utility function to tear down a private connection in tests Bug: https://bugs.freedesktop.org/show_bug.cgi?id=41126 Reviewed-by: Will Thompson configure.ac | 1 + test/Makefile.am | 4 +-- test/core/Makefile.am | 4 ++- test/interfaces/Makefile.am | 4 ++- test/lib/Makefile.am | 19 ++++++++++++ test/lib/util.c | 69 +++++++++++++++++++++++++++++++++++++++++++ test/lib/util.h | 32 ++++++++++++++++++++ 7 files changed, 129 insertions(+), 4 deletions(-) commit 403c5bf4d98fcba83caa94aee96da27128bbf9c8 Author: Matthias Klose Date: 2012-06-25 17:11:45 +0100 Fix build error with -Werror=format-security Origin: vendor, Ubuntu Reviewed-by: Simon McVittie dbus/dbus-gobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ae0ed3e435c550c3fae1a86a1c3cb42da319dff2 Author: Simon McVittie Date: 2011-09-28 17:42:44 +0100 Move use of 0 as an error domain into the invalid-usage test I think this is invalid, although others might disagree. Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Will Thompson test/core/error-mapping.c | 26 -------------------------- test/manual/invalid-usage.c | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 26 deletions(-) commit 92c613b8f429a4fe6c762805f1a4f3588511e6a7 Author: Simon McVittie Date: 2011-09-28 17:35:42 +0100 Add a manual test for various invalid behaviour Most of this has been sitting in a branch since fd.o #30171; fixing fd.o #40151, another case of library-user error leading to undefined behaviour and a hard-to-diagnose crash, seems a good time to get this merged. Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Will Thompson .gitignore | 1 + configure.ac | 1 + test/Makefile.am | 4 +- test/manual/Makefile.am | 27 ++++ test/manual/invalid-usage.c | 295 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 326 insertions(+), 2 deletions(-) commit 539bd92b8703134057c039f965ff7a5b5434c3a7 Author: Simon McVittie Date: 2011-09-28 17:41:35 +0100 Remove tests in test-dbus-glib which basically just test error mapping Also remove the methods on MyObject that only existed to support these tests; ThrowError is now versatile enough to implement them all. Leave ThrowUnregisteredError as it is, since it violates GError expectations (see GNOME#660371), but stop using it in test-dbus-glib - it's enough to use it in test-error-mapping. Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Will Thompson test/core/my-object.c | 36 ------------------------------- test/core/test-dbus-glib.c | 45 --------------------------------------- test/core/test-service-glib.xml | 9 -------- 3 files changed, 90 deletions(-) commit b0dc0f419b641f4ab8fdd8eaf69f4ed4c2d61159 Author: Simon McVittie Date: 2011-09-28 14:56:45 +0100 Add a new test for error mapping Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Will Thompson .gitignore | 1 + test/core/Makefile.am | 7 + test/core/error-mapping.c | 327 +++++++++++++++++++++++++++++++++++++++++++++ test/core/run-test.sh | 1 + 4 files changed, 336 insertions(+) commit 5aa25d4f3c44e7f46e95b8d8de64bf63f2c7c42e Author: Simon McVittie Date: 2011-09-28 17:23:18 +0100 MyObject: make ThrowError, AsyncThrowError throw a caller-specified error This can be used to test arbitrary errors, but only in-process; in tests with the service out-of-process, like test-dbus-glib, the initial error (matching the error they previously threw) will always be used. This obsoletes ThrowErrorUnderscore, ThrowErrorMultiWord and ThrowNotSupported, but not ThrowUnregisteredError due to some strange assumptions about the validity of GError domains in that method (see GNOME#660731). Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Will Thompson test/core/my-object.c | 49 +++++++++++++++++++++++++++++++++++-------------- test/core/my-object.h | 5 +++++ 2 files changed, 40 insertions(+), 14 deletions(-) commit df3949806818ba0eab495fcaad2c7f3ad38007c7 Author: Simon McVittie Date: 2011-09-28 16:14:52 +0100 test-dbus-glib.c isn't GTest yet, but add bug numbers anyway Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Will Thompson test/core/test-dbus-glib.c | 4 ++++ 1 file changed, 4 insertions(+) commit ead4ef065f700a4b586e78400789a7a18c856cc4 Author: Simon McVittie Date: 2011-09-28 14:57:02 +0100 Add copyright/licensing information to test-dbus-glib I've tried to dig up the copyright holders from git history; possibly incomplete, but none of them cared enough to add their own copyright notices, so this is the best we'll get. Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Will Thompson test/core/test-dbus-glib.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) commit 309bce6d7965037bc6f1827715d2372ae19c98d5 Author: Simon McVittie Date: 2011-09-28 13:23:29 +0100 Form a valid D-Bus error name if an unmapped error has a negative code Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Will Thompson dbus/dbus-gobject.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit ffd32e448a76045696d81a82fec9aeac7dd5e64b Author: Simon McVittie Date: 2011-09-28 12:20:16 +0100 If an error code is out of range for its domain, warn about it Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Will Thompson dbus/dbus-gobject.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) commit a31371cb5852c485b85926125988c0a170a640ca Author: David Woodhouse Date: 2011-09-28 12:16:01 +0100 Don't crash in gerror_domaincode_to_dbus_error_name if code is out of range Bug: https://bugs.freedesktop.org/show_bug.cgi?id=40151 Reviewed-by: Simon McVittie dbus/dbus-gobject.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 86ba4b0b8591b882803be1a064df4c213349fba0 Author: Simon McVittie Date: 2011-09-22 18:25:02 +0100 dbus_g_value_parse_variant: fix several GVariant ref leaks g_variant_get_child_value() (and hence g_variant_get_variant(), which is a simple wrapper) returns a ref to the child; we were assuming it didn't. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=41125 Reviewed-by: Jonny Lamb dbus/dbus-gvalue-parse-variant.c | 56 ++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 18 deletions(-) commit 51222609f1af2eda0c223881dda3985435c3ad3f Author: Colin Walters Date: 2012-01-08 11:29:33 -0500 test-service-glib: Fix build with GLib 2.30 Only can be included directly. test/core/test-service-glib.c | 1 - 1 file changed, 1 deletion(-) commit 0215b0af4c95c9b9fc79ada5b99882f1261e2644 Author: Colin Walters Date: 2012-01-08 11:28:10 -0500 autogen.sh: Honor NOCONFIGURE=1 environment variable http://people.gnome.org/~walters/docs/build-api.txt autogen.sh | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) commit 6a8daa9569a4a6c2610758b122f46f181ce52448 Author: Derek Foreman Date: 2011-04-20 12:14:23 -0400 Support building on Android Reviewed-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=42532 .gitignore | 1 + Android.mk | 35 +++++++++++++++++++++++++++++++++++ dbus/Makefile.am | 9 +++++++++ 3 files changed, 45 insertions(+) commit dfdb0de78563a01c3d722e1de83d85e90163feaa Author: Simon McVittie Date: 2011-09-30 16:12:29 +0100 Micro version configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f669a4aa6c7caaf6cbf9395ed14a1a357c4f6004 Author: Simon McVittie Date: 2011-09-30 12:06:50 +0100 Prepare 0.98 configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1803b6cf35876247bb3e577bec9be8eed8b1b825 Author: Simon McVittie Date: 2011-08-17 19:28:04 +0100 invoke_object_method: simplify how we return Based on review feedback from Cosimo. Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35767 dbus/dbus-gobject.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit 83bdd09f6124289dd19556da9334906f28064838 Author: Simon McVittie Date: 2011-08-17 19:26:46 +0100 dbus-gobject: centralize death-by-OOM and use oom() instead of goto You can't recover from OOM (in GLib-land) so there's no point in complicating the code for the reader. Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35767 dbus/dbus-gobject.c | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) commit 705761ad983392c311c3e66c3ddf7e44e0efbc6f Author: Simon McVittie Date: 2011-09-27 18:42:33 +0100 Fix various minor documentation bugs Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-glib.c | 2 +- dbus/dbus-glib.h | 2 +- dbus/dbus-gmain.c | 10 +++++----- dbus/dbus-gobject.c | 33 +++++++++++++++++++-------------- dbus/dbus-gproxy.c | 33 ++++++++++++++++++++++++++++----- dbus/dbus-gvalue.c | 2 +- doc/reference/dbus-glib-sections.txt | 6 +++++- 7 files changed, 60 insertions(+), 28 deletions(-) commit 0d058307cb914fa61e809b9e0500ac139e286ec6 Author: Simon McVittie Date: 2011-09-27 17:47:03 +0100 specialized types: improve documentation and document more things Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-gtype-specialized.c | 436 +++++++++++++++++++++++++++++----- dbus/dbus-gtype-specialized.h | 6 +- doc/reference/dbus-glib-sections.txt | 1 + 3 files changed, 388 insertions(+), 55 deletions(-) commit b3af6fdb643f9293d156c95860270a997b9f6843 Author: Simon McVittie Date: 2011-09-27 17:50:07 +0100 dbus_g_type_collection_value_iterate, etc.: check that the type is suitable Otherwise we'd probably crash when we cast the vtable to an inappropriate type, and call its methods with inappropriate arguments as a result. Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-gtype-specialized.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) commit 3183d79b119d0296924602f19d9fc2a58a7bd597 Author: Simon McVittie Date: 2011-09-27 17:47:46 +0100 dbus_g_type_collection_get_fixed: check preconditions on the type and vtable Previously, if it wasn't a collection or didn't have the fixed_accessor, we'd just segfault. Not ideal. Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-gtype-specialized.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) commit 7fcaf6c8c6d0e6ade0e8d5460b5311b564a24d3f Author: Simon McVittie Date: 2011-09-27 17:41:36 +0100 dbus-gtype-specialized: warn if vtables have missing callbacks It's just about conceivable that they wouldn't segfault, if application authors carefully avoided the unimplemented functionality... but still. Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-gtype-specialized.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) commit 58ed26382bf23fe9fb592d38b5be2c2c7b2e77e2 Author: Simon McVittie Date: 2011-05-31 16:17:10 +0100 Tidy up docs for DBusGError and its pseudo-methods * attach the introductory doc-comments to the enum and macro names, not the internal function * remove docs for method parameters which didn't actually exist * more cross-references * make the domain macro visible in the documentation index Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-glib.c | 33 ++++++++++++++++++--------------- doc/reference/dbus-glib-sections.txt | 1 - 2 files changed, 18 insertions(+), 16 deletions(-) commit 4b6482d5987095b474c9582e7415bf94a154d9b4 Author: Simon McVittie Date: 2011-09-27 16:25:21 +0100 Make gtk-doc DOC_SOURCE_DIR absolute, fixing out-of-tree docs I used an absolute path to avoid differing behaviour with older versions of gtk-doc, where DOC_SOURCE_DIR was relative to the *source* directory. Also resync doc/reference/Makefile.am with gtk-doc's example. Signed-off-by: Simon McVittie Reviewed-by: Will Thompson doc/reference/Makefile.am | 51 +++++++++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 13 deletions(-) commit 83471e869e464c63063e9e254bc8c40b25de03b7 Author: Simon McVittie Date: 2011-05-31 16:04:29 +0100 DBusGProxy: be more pedantic about boolean returns Returning false doesn't strictly imply that the error is set; if you're being pedantic enough, it's really a tri-state where TRUE indicates success, FALSE indicates failure, and calling the function incorrectly results in undefined behaviour (currently a critical warning and returning FALSE). Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: NB#218973 dbus/dbus-gproxy.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit c6aa1d7dbdf04501495e4a3b4cfe6e7d808af6dd Author: Simon McVittie Date: 2011-05-31 15:57:44 +0100 DBusGProxy: misc documentation tidying Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-gproxy.c | 37 +++++++++++++++++++++++++--------- doc/reference/dbus-glib-sections.txt | 4 ++++ 2 files changed, 32 insertions(+), 9 deletions(-) commit c568ace5ee6a9c13f748d876d69ad50234b2bc78 Author: Simon McVittie Date: 2011-05-31 15:57:15 +0100 DBusGProxy: make argument names in declaration, definition and docs consistent Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-glib.h | 8 +++---- dbus/dbus-gproxy.c | 59 +++++++++++++++++++++++++--------------------------- 2 files changed, 32 insertions(+), 35 deletions(-) commit dc766e475f3a42872edbd9c3bcc98714dde8bff7 Author: Simon McVittie Date: 2011-05-31 15:55:47 +0100 DBusGProxy: mark struct contents as private Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-glib.h | 2 ++ 1 file changed, 2 insertions(+) commit 9d1cce7c64662733f0b48e52e4d5a1e805a3e246 Author: Simon McVittie Date: 2011-05-31 15:40:40 +0100 Remove declaration of dbus_pending_call_get_g_type, which doesn't exist Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-glib-lowlevel.h | 8 -------- doc/reference/dbus-glib-sections.txt | 2 -- 2 files changed, 10 deletions(-) commit 35e049459945a22b87cc61c05bd903790f05cf40 Author: Simon McVittie Date: 2011-05-31 16:17:34 +0100 Add DBUS_TYPE_CONNECTION, DBUS_TYPE_MESSAGE to the docs, and document them better Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-glib.c | 15 +++++++++++---- doc/reference/dbus-glib-sections.txt | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) commit 43a4bf8b038c08d6b8c565495cbf69433bc2dcc6 Author: Simon McVittie Date: 2011-05-31 16:15:43 +0100 Tidy up docs for DBusGMessage * document the instance struct * make argument names match the headers * document the GType macro, not the function it calls, and mention it in the documentation (since this is a boxed type, so it's non-obvious) Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-glib.c | 28 ++++++++++++++++++---------- doc/reference/dbus-glib-sections.txt | 2 +- 2 files changed, 19 insertions(+), 11 deletions(-) commit 53ac9ee390e173f8e63f276d8c7e211e4fadca4b Author: Simon McVittie Date: 2011-03-29 16:34:38 +0100 Clean up docs for DBusGConnection * introductory doc-comment for the (pseudo-)class * attach the doc-comment for the GType to the macro, not the internal function * rename function parameters to match what the header file says Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 dbus/dbus-glib.c | 26 +++++++++++++++++--------- doc/reference/dbus-glib-sections.txt | 2 +- 2 files changed, 18 insertions(+), 10 deletions(-) commit be937e037a6c076cf650bb79aba9c1138da39511 Author: Simon McVittie Date: 2011-03-29 16:42:19 +0100 Ignore non-API source files correctly gtk-doc only cares about the basename of the files. Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 doc/reference/Makefile.am | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) commit 053d41e56050706b512562f13b9ebde7dac3c60b Author: Simon McVittie Date: 2011-03-29 16:42:44 +0100 Remove stray empty subsection Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 doc/reference/dbus-glib-sections.txt | 3 --- 1 file changed, 3 deletions(-) commit 3d02f22d475286db8160604755ee85d24b133005 Author: Simon McVittie Date: 2011-05-31 16:13:24 +0100 Mention which header to include in the gtk-doc Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 doc/reference/dbus-glib-sections.txt | 8 ++++++++ 1 file changed, 8 insertions(+) commit 30b6a106ed590c0fd97a783998a19779002e65d8 Author: Simon McVittie Date: 2011-05-31 16:13:07 +0100 Add some missing symbols to the docs Signed-off-by: Simon McVittie Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37793 Bug-NB: related to NB#218973 doc/reference/dbus-glib-sections.txt | 6 ++++++ 1 file changed, 6 insertions(+) commit a4bc263721fc5a80a78c6b551f35d281c22694ff Author: Simon McVittie Date: 2011-09-21 18:14:46 +0100 Micro version configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 80e37faeac62a4694514410ec17c2ab4a75d50e6 Author: Simon McVittie Date: 2011-09-21 17:36:11 +0100 dbus-glib 0.96 configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4bc172fd5f31123ee883c4027e729b38c2777d7d Author: Simon McVittie Date: 2011-04-05 17:43:15 +0100 test-dbus-glib: make lose() abort, and make lose_gerror() more informative Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano test/core/test-dbus-glib.c | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) commit 9e97f9744e7ffeb04a105087da6143931195ce77 Author: Simon McVittie Date: 2011-04-05 16:25:15 +0100 get_all_object_properties: if _dbus_gvalue_marshal fails, bail out This isn't necessarily OOM: _dbus_gvalue_marshal can fail due to programming errors. If so, raise a critical warning, then (if that wasn't fatal) return a D-Bus error to be sent to the caller. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) commit bfd1c05174b86c9dfcf1b22a4fa0b2c552dfc902 Author: Simon McVittie Date: 2011-04-05 18:02:47 +0100 get_all_object_properties: note which operations can only fail via OOM Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 30198a2368c9cd19db4b8f595bfad7a719ada7e9 Author: Simon McVittie Date: 2011-04-05 16:21:12 +0100 get_all_object_properties: skip invalidly-named properties, with a critical Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 9 +++++++++ 1 file changed, 9 insertions(+) commit a2a3315ac9747dcc7dda860ceb1d1f94ab56d29b Author: Simon McVittie Date: 2011-08-17 19:15:05 +0100 dbus-gobject: add and use connection_send_or_die to check for OOM Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano Conflicts: dbus/dbus-gobject.c dbus/dbus-gobject.c | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) commit 22262581b0956f69f321b9e2eb702e3f15b49823 Author: Simon McVittie Date: 2011-04-05 15:50:38 +0100 emit_signal_for_registration: assert that signal headers are all valid This is an assertion, not a return_if_fail, because we already checked the object path in dbus_g_connection_register_g_object and the others in export_signals. After these checks, dbus_message_new_signal can really only fail on OOM. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 4 ++++ 1 file changed, 4 insertions(+) commit cccf1e6672fba6b649fe02082c2f087cdf022dcd Author: Simon McVittie Date: 2011-04-05 15:49:18 +0100 export_signals: check interface, signal names for validity Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit d09dfcb130be0a17f337bd198a9fb43aab7dfa28 Author: Simon McVittie Date: 2011-04-05 15:43:30 +0100 object_registration_message: check for OOM when a property is absent Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 7b92ac1bfd1e50e842549dbb14b845478d114652 Author: Simon McVittie Date: 2011-04-05 15:42:49 +0100 object_registration_message: make logic/assertions slightly clearer Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) commit b5b27e4ca0d8ca250fa7649bcf2613e8d889a722 Author: Simon McVittie Date: 2011-04-05 15:42:29 +0100 object_registration_message: handle remote caller errors better If the remote process sends us a wrong message, that's its fault, not ours; we should send back a comprehensible D-Bus error, and not spam to stderr. Previously, in each of these cases libdbus would have sent back NoReply, because we declined to handle the method call. One case that's still wrong is passing extra arguments to Get, GetAll or Set, like so: Get("com.example.Iface", "MyProperty", "extra") Set("com.example.Iface", "MyProperty", Variant("foo"), "extra") GetAll("com.example.Iface", "extra") dbus-glib has historically warned, ignored the extra argument(s) and sent back a reply as if they hadn't been there, whereas a stricter implementation (like telepathy-glib's TpDBusPropertiesMixin) would have sent back an error reply and done nothing. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) commit e5cf2be0e03af4df19618076015cc2a6556ca5d4 Author: Simon McVittie Date: 2011-04-05 15:36:09 +0100 get_object_property: add brief documentation Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 5 +++++ 1 file changed, 5 insertions(+) commit d3aa6c7942cce0cf7b602c6b0854488938f0548e Author: Simon McVittie Date: 2011-04-05 15:25:55 +0100 get_object_property: unwind on errors, and avoid returning NULL Also treat all errors here as programming errors (because this method should never fail), upgrading them from warning to critical; return a D-Bus error reply anyway, to be nicer to our callers. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) commit 98b3b3f323fd4001be0630c3e0a1dc4fb83cdeab Author: Simon McVittie Date: 2011-04-05 15:21:56 +0100 check_property_access: centralize error handling (and check for OOM) Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 69 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 26 deletions(-) commit 6293849bf0469ce8d6d122b38db5091c21304a30 Author: Simon McVittie Date: 2011-08-17 19:11:14 +0100 dbus-gobject: check for NULL when producing messages Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano Conflicts: dbus/dbus-gobject.c dbus/dbus-gobject.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 8ec3166b6a40508a91144efedc10dcb32964498e Author: Simon McVittie Date: 2011-04-05 14:56:16 +0100 dbus-gobject: factor out reply_or_die, error_or_die and add error-checking Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35766 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 83 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 33 deletions(-) commit 7a1abf5243fe5b7adf7211fd7d8c82851f448192 Author: Simon McVittie Date: 2011-04-04 16:52:58 +0100 invoke_object_method: if marshalling an out argument fails, discard message We shouldn't report this as OOM, because it probably wasn't (it's much more likely to be programming error); we should also continue through the arguments, so that we don't leak them. By abandoning the message as soon as we detect a programming error, we can use reply == NULL as an indicator of whether to keep appending. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35767 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 47 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) commit 4ba637e2ae32b2daf224265c22cc8b43cf0a0bbf Author: Simon McVittie Date: 2011-04-04 15:45:07 +0100 invoke_object_method, dbus_g_method_return_error: handle sending failure I just made it fatal, since it's either programming error or OOM. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35767 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit cd7e9a1c6dd0eef6e867cac80339a38758d0cd6f Author: Simon McVittie Date: 2011-04-04 15:44:28 +0100 gerror_to_dbus_error_message: guarantee to return non-NULL Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35767 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 6 ++++++ 1 file changed, 6 insertions(+) commit c239a810543bde85dd458012612874cdc81a4151 Author: Simon McVittie Date: 2011-04-04 15:41:32 +0100 invoke_object_method: if dbus_message_new_method_return fails, fail hard There's no point in doing graceful unwinding here, since it really shouldn't happen. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35767 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 480c480b024a77dd8f4efecdb6639d45de9767ce Author: Simon McVittie Date: 2011-04-04 15:40:40 +0100 arg_iterate: document Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35767 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) commit 36b55c3aac5de873a69c9bd0fbe003200a03ba32 Author: Simon McVittie Date: 2011-06-16 15:33:01 +0100 dbus_g_proxy_manager_unregister: if GetNameOwner failed, don't assert got_name_owner_cb never adds the proxy to the unassociated_proxies list if there is a D-Bus error other than NameHasNoOwner. Based on a patch from Janne Karhunen, for Maemo. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=38408 Bug-NB: NB#116862 Reviewed-by: Cosimo Alfarano dbus/dbus-gproxy.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 18705c42ca6b6a583b64451055eec4dad3aaa3b4 Author: Simon McVittie Date: 2011-06-17 14:40:28 +0100 Add a regression test for fd.o #38406 Bug: https://bugs.freedesktop.org/show_bug.cgi?id=38406 Reviewed-by: Cosimo Alfarano .gitignore | 1 + test/core/Makefile.am | 7 ++ test/core/proxy-peer.c | 274 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 282 insertions(+) commit 5d800ca9352b40354a0f4a905c1c0b111b81f030 Author: Simon McVittie Date: 2011-06-17 14:53:09 +0100 MyObject: register marshallers so individual tests don't have to These marshallers are actually dual-use: they're used to call certain methods on MyObject, and also to bind to its signals. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=38406 Reviewed-by: Cosimo Alfarano test/core/Makefile.am | 4 +++- test/core/my-object.c | 12 ++++++++++++ test/core/my-object.h | 1 + test/core/test-dbus-glib.c | 11 ++++------- 4 files changed, 20 insertions(+), 8 deletions(-) commit 70e09208ab13812037b3cf133df312aacd24d036 Author: Simon McVittie Date: 2011-06-17 12:18:57 +0100 DBusGProxy: deal with errors in DBUS_G_VALUE_ARRAY_COLLECT_ALL G_VALUE_COLLECT can fail (admittedly, it's a programming error if it does). Previously, we leaked the resulting g_malloc'd string; now we emit a critical warning, free it, and abort the call. Based on patches from Kimmo Hämäläinen and Christian Dywan in Maemo's dbus-glib. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=38406 Bug-NB: NB#86280 Bug-NB: NB#180486 (CID-34419 to CID-34424 inclusive) Reviewed-by: Cosimo Alfarano dbus/dbus-gproxy.c | 93 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 66 insertions(+), 27 deletions(-) commit 2731a2f7f824f9c1cd11dd14e88ff1e0875f280b Author: Simon McVittie Date: 2011-06-17 12:15:20 +0100 dbus_g_proxy_call: simplify error handling now that call_id may be 0 There's no need to special-case it any more - we can just use dbus_g_proxy_end_call_internal and rely on it to cope. This reverts the fix for fd.o #12675, since the commit before this one is more general. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=38406 Reviewed-by: Cosimo Alfarano dbus/dbus-gproxy.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) commit 1b38cecf7bbdb8a99ef13616b8c661dfb0bc060f Author: Simon McVittie Date: 2011-06-17 12:06:11 +0100 DBusGProxy: cope gracefully with call_id == 0 As well as happening on a programming error or OOM (which both provoke critical warnings), dbus_g_proxy_begin_call_internal() can legitimately fail if we got disconnected from D-Bus (so can't send any more), but are still working through our backlog of incoming messages (so we haven't got round to the Disconnected message yet, so the DBusGProxy hasn't emitted ::destroy). fd.o #12675 fixed dbus_g_proxy_call(), but dbus_g_proxy_call_with_timeout() and the asynchronous API still need similar treatment. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=38406 Reviewed-by: Cosimo Alfarano dbus/dbus-gproxy.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) commit af31c9c21efeec8a38c73de24d82a2038d80f74e Author: Simon McVittie Date: 2011-08-03 18:38:49 +0100 registrations test: fix race condition in adding match rules If you don't block waiting for the reply to AddMatch, and you're using two connections to the bus, then messages sent from connection 2 might not be matched by connection 1, because they arrive before the AddMatch call from connection 1. This manifests itself as the /registrations/twice test *sometimes* failing (dependent on timing). Only tests with two parallel bus connections need this, but to be safe, I've added it throughout this test. Reviewed-by: Vivek Dasmohapatra test/core/registrations.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) commit 6d06dd358b22057dca1808c1432e620998202c41 Author: Tim Waugh Date: 2011-07-22 15:13:42 +0100 dbus-binding-tool: fixed "pretty" mode output for methods. Reviewed-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=39475 dbus/dbus-glib-tool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e294ba3e579db1c12158ce95ad6ff34391cf571a Author: Simon McVittie Date: 2011-06-16 18:12:27 +0100 Show warning if marshalling in dbus_g_method_return fails Based on a patch from Christian Dywan . Bug: https://bugs.freedesktop.org/show_bug.cgi?id=29884 Bug-NB: NB#180486 Reviewed-by: Cosimo Alfarano dbus/dbus-gobject.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit cce0887278ae105f010d35636fc5f6d654c2d41f Author: Christian Dywan Date: 2010-12-14 15:07:27 +0100 remove minor dead code in dbus-gparser There's no way retval can be false at this location. Bug-NB: NB#180486 CID-643 Reviewed-by: Simon McVittie dbus/dbus-gparser.c | 3 --- 1 file changed, 3 deletions(-) commit f446cb80f91b4cf584883b47477295d07dd32eac Author: Derek Foreman Date: 2011-06-02 17:16:42 +0100 remove remaining inclusions of from library Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36428 Reviewed-by: Simon McVittie dbus/dbus-binding-tool-glib.c | 1 - dbus/dbus-gproxy.c | 1 - 2 files changed, 2 deletions(-) commit 2a85bd434e6d8dba9615a53d288a0a72d6b5e0cf Author: Simon McVittie Date: 2011-06-02 13:50:20 +0100 Regression test for fd.o #37852 Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37852 Reviewed-by: Colin Walters test/core/my-object.c | 17 ++++++++++ test/core/my-object.h | 2 ++ test/core/registrations.c | 68 +++++++++++++++++++++++++++++++++++++++ test/core/test-service-glib.xml | 4 +++ 4 files changed, 91 insertions(+) commit 3e0828f57c3925ea9b63d22ab82d991a0fea0536 Author: Simon McVittie Date: 2011-06-02 13:49:51 +0100 Fix regression in marshalling objects as object paths This regressed while fixing fd.o #36811. NetworkManager apparently uses this idiom. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37852 Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628890 Tested-by: Michael Biebl Reviewed-by: Colin Walters dbus/dbus-gobject.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit f534276eb20d8035566a206d1e38fd651a1eeab9 Author: Simon McVittie Date: 2011-05-31 17:03:59 +0100 registrations test: only listen for signals, not all messages Otherwise, we'd reply with an error to messages not intended for us. Reviewed-by: Colin Walters test/core/registrations.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 867d670daad983f8b4416528e69d3ad2e0596e88 Author: Simon McVittie Date: 2011-06-01 19:44:42 +0100 0.95 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 469df67525a9e5363644ac730ac8ec7580a8ebe0 Author: Simon McVittie Date: 2011-06-01 19:07:30 +0100 Prepare 0.94 release configure.ac | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 5a780af947f0141f4e0524aaf62fdd06abe6cd5f Author: Simon McVittie Date: 2011-04-04 13:46:11 +0100 dbus-binding-tool: forbid ReturnVal annotation after the first OUT It has never actually worked correctly (invoke_object_method would always treat the ReturnVal as if it had been the first OUT argument), so let's only allow the situation that worked in practice. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35952 Reviewed-by: Will Thompson dbus/dbus-binding-tool-glib.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit a8605cf4c6c9dbc4a933dd744d339744e0102765 Author: Simon McVittie Date: 2011-06-01 17:33:48 +0100 Fix compiler warnings in dbus-binding-tool Reviewed-by: Will Thompson dbus/dbus-glib-tool.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 0c162cc63b073a9f50dd11ea99db72fe95a16064 Author: Simon McVittie Date: 2011-06-01 17:33:07 +0100 Remove all support for Doxygen Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=10890 Doxyfile.in | 180 -------------------------------------------------------- Makefile.am | 2 - README | 1 - configure.ac | 34 +---------- doc/api/README | 3 - 5 files changed, 1 insertion(+), 219 deletions(-) commit 6e20efb5c4c094915d2b6e86c3cab486a0562a95 Author: Simon McVittie Date: 2011-06-01 17:32:58 +0100 Use single star in doc-comments not intended for gtk-doc Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=10890 dbus/dbus-glib.h | 4 ++-- dbus/dbus-gloader-expat.c | 2 +- dbus/dbus-gproxy.c | 2 +- dbus/dbus-gtest.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) commit 1472d195bd201d219aab5bc4b31d80d8340cee5c Author: Simon McVittie Date: 2011-06-01 17:32:06 +0100 Remove Doxygen droppings from source code Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=10890 dbus/dbus-gidl.c | 4 ---- dbus/dbus-gidl.h | 4 ---- dbus/dbus-glib.c | 3 +-- dbus/dbus-gmain.c | 22 +++------------------- dbus/dbus-gobject.c | 3 +-- dbus/dbus-gparser.c | 4 ---- dbus/dbus-gproxy.c | 26 ++------------------------ dbus/dbus-gthread.c | 6 ------ dbus/dbus-gutils.c | 4 ---- dbus/dbus-gutils.h | 4 ---- dbus/dbus-gvalue.c | 5 +---- 11 files changed, 8 insertions(+), 77 deletions(-) commit 4c3a346d296789cf3a81f6cc98f64d84ea892247 Author: Simon McVittie Date: 2011-06-01 17:24:36 +0100 Remove _dbus_g_proxy_test, which isn't called and doesn't do anything Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37790 dbus/dbus-gproxy.c | 17 ----------------- 1 file changed, 17 deletions(-) commit cded5996b02ff937a73654788d1f3a7ca46ca0a9 Author: Simon McVittie Date: 2011-06-01 17:24:29 +0100 Remove _dbus_gutils_test, which didn't test anything Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37790 dbus/dbus-gtest.c | 6 +----- dbus/dbus-gutils.c | 17 ----------------- 2 files changed, 1 insertion(+), 22 deletions(-) commit d81722def291666a3c557a18d66be061f8f55e31 Author: Simon McVittie Date: 2011-06-01 17:24:22 +0100 _dbus_gidl_test: remove unused function which does nothing Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37790 dbus/dbus-gidl.c | 17 ----------------- 1 file changed, 17 deletions(-) commit 1f371d3c75a5c2e9979350380e4243e3c445e093 Author: Simon McVittie Date: 2011-06-01 17:23:45 +0100 dbus-glib-tool: remove regression-test boilerplate which does nothing Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37790 Reviewed-by: Will Thompson dbus/dbus-glib-tool.c | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) commit 8abfa07b8acd2d8527785db3711d8a88a213a60e Author: Simon McVittie Date: 2011-06-01 17:18:52 +0100 dbus-binding-tool: clean up temporary file on error This fixes distcheck, which otherwise fails because temporary files are left over after distclean. We could delete them with the build system, but leaving them behind is a bug, so... Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37812 Reviewed-by: Will Thompson dbus/dbus-glib-tool.c | 78 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 58 insertions(+), 20 deletions(-) commit d5b9aa101d61bcd2321f0266fa638b644e4cba96 Author: Simon McVittie Date: 2011-05-31 14:35:01 +0100 Remove useless HAVE_GLIB conditional - GLib is mandatory Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37789 configure.ac | 1 - 1 file changed, 1 deletion(-) commit 601b51279e7fbb08ff6ce8c98eaf4bcee21d46a5 Author: Simon McVittie Date: 2011-03-28 14:40:12 +0100 Remove unused DBUS_DAEMONDIR Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37789 configure.ac | 10 ---------- 1 file changed, 10 deletions(-) commit 1a966d070e71378590fb0b64c5ec7a2e250d397b Author: Simon McVittie Date: 2011-03-28 14:39:57 +0100 Remove vestigial dbus-glib-error-*.h and the machinery to generate them This was the only use of DBUS_INCLUDEDIR, so remove that too. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37789 .gitignore | 4 ---- configure.ac | 2 -- dbus/Makefile.am | 16 ++-------------- dbus/make-dbus-glib-error-enum.sh | 2 -- dbus/make-dbus-glib-error-switch.sh | 2 -- 5 files changed, 2 insertions(+), 24 deletions(-) commit 98d7cb8c869b53686a742fb48d1f189c74ff1484 Author: Simon McVittie Date: 2011-05-31 14:33:18 +0100 Simplify the check for dbus-1 As in commit 0f782b4, omitting the action-if-found and action-if-not-found results in much better error messages if this mandatory dependency isn't found. Nothing checks HAVE_DBUS (as they shouldn't - it's mandatory!), so there's no point in keeping that either. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37789 configure.ac | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) commit b00d53dd647cf456ddb67c1dfdf44a8d56be90b4 Author: Simon McVittie Date: 2011-01-04 18:35:41 +0000 Add more auto-generated gtkdoc droppings to .gitignore Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37789 .gitignore | 2 ++ 1 file changed, 2 insertions(+) commit bd92f266609fef162b6028fd249250b0ab9ae689 Author: Simon McVittie Date: 2011-05-31 14:46:33 +0100 Remove support for i18n completely As far as I can tell, dbus-glib has never actually been translated into another language, or even had the necessary infrastructure so people could do that. The translated strings are all low-level errors in "programmer English" anyway, and most of them only make sense to D-Bus experts. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36428 configure.ac | 25 +----------------- dbus/dbus-binding-tool-glib.c | 8 +++--- dbus/dbus-glib-tool.c | 35 ++++++++++---------------- dbus/dbus-gparser.c | 56 +++++++++++++++++++---------------------- dbus/dbus-gproxy.c | 8 +++--- dbus/dbus-gvalue.c | 41 +++++++++++++++--------------- 6 files changed, 68 insertions(+), 105 deletions(-) commit c37bd4357d50d1cd683ef04f05ee427c9a0f7e9f Author: Simon McVittie Date: 2011-03-28 14:43:15 +0100 Remove i18n macros from files where they're unused dbus-glib-tool (dbus-binding-tool) and dbus-gparser are theoretically localizable, but the library doesn't make any use of gettext. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36428 dbus/dbus-glib.c | 5 ----- dbus/dbus-gmain.c | 4 ---- 2 files changed, 9 deletions(-) commit e8a4f0496d0eec10fc9c76e0ef20e761bb2256c6 Author: Dan Williams Date: 2011-05-31 11:25:59 -0500 Log error message from failed object registration See https://bugzilla.redhat.com/show_bug.cgi?id=708686 for a case of this; it would be extremely helpful to figure out what the error actually was since it appears not to be a double-registration or other such issues after inspection of nm-applet and libnm-glib. Reviewed-by: Colin Walters Reviewed-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37795 dbus/dbus-gobject.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) commit eeb1c50aa03a95c39487e9331107142f27412958 Author: Simon McVittie Date: 2011-04-20 16:41:28 +0100 Remind maintainers to update the libtool versioning Bug: https://bugs.freedesktop.org/show_bug.cgi?id=22854 Reviewed-by: Guillaume Desmottes HACKING | 1 + 1 file changed, 1 insertion(+) commit 9e2031148fd0ee114ec67c681d2b9bcfd84cdaa4 Author: Simon McVittie Date: 2011-04-20 16:41:00 +0100 add a Makefile rule to upload a tarball and up-to-date docs Simplified from telepathy-glib, which has more elaborate machinery to automate releases. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=26952 Reviewed-by: Guillaume Desmottes HACKING | 3 ++- Makefile.am | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) commit 61f48c290176c007ff0aef6ca4d752491763e4b0 Author: Simon McVittie Date: 2011-05-30 15:41:27 +0100 Force a full rebuild for new gcc versions if gcov is enabled This avoids a lot of "Version mismatch - expected 406p got 405*". Because we're changing the content of each file after preprocessing, it even defeats ccache, which is desirable here - otherwise we'd get old versions of the profiling code being resurrected from the cache. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37060 Reviewed-by: Guillaume Desmottes configure.ac | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) commit 0f320c5224fe39df44648ac75ecce9e0a01079d0 Author: Simon McVittie Date: 2011-05-30 15:41:01 +0100 Include config.h in generated C files, and regenerate dbus-gmarshal.c Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37060 Reviewed-by: Guillaume Desmottes dbus/Makefile.am | 3 ++- dbus/dbus-gmarshal.c | 7 +++++-- dbus/examples/statemachine/Makefile.am | 4 +++- test/core/Makefile.am | 4 +++- 4 files changed, 13 insertions(+), 5 deletions(-) commit f91828abb160e44b53a32823516d55d8a5d634bc Author: Simon McVittie Date: 2011-05-30 15:39:28 +0100 Consistently include config.h in all non-generated .c files Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37060 Reviewed-by: Guillaume Desmottes dbus/dbus-gidl.c | 2 ++ dbus/dbus-gloader-expat.c | 2 ++ dbus/dbus-gparser.c | 3 +++ dbus/dbus-gproxy.c | 3 +++ dbus/dbus-gthread.c | 2 ++ dbus/dbus-gtype-specialized.c | 2 ++ dbus/dbus-gvalue-parse-variant.c | 2 ++ dbus/examples/example-client.c | 2 ++ dbus/examples/example-service.c | 2 ++ dbus/examples/example-signal-emitter.c | 2 ++ dbus/examples/example-signal-recipient.c | 2 ++ dbus/examples/statemachine/statemachine-client.c | 2 ++ dbus/examples/statemachine/statemachine-server.c | 2 ++ dbus/examples/statemachine/statemachine.c | 2 ++ test/core/30574.c | 2 ++ test/core/peer-client.c | 2 ++ test/core/peer-server.c | 2 ++ test/core/test-dbus-glib.c | 2 ++ test/core/test-gvariant.c | 2 ++ test/core/test-service-glib.c | 2 ++ test/core/test-thread-client.c | 2 ++ test/core/test-thread-server.c | 2 ++ test/core/test-types.c | 2 ++ test/core/test-variant-recursion.c | 2 ++ test/interfaces/test-client.c | 2 ++ test/interfaces/test-objects.c | 2 ++ test/interfaces/test-server.c | 2 ++ test/test-service.c | 2 ++ 28 files changed, 58 insertions(+) commit 6d6d9a61e47f5bc28b5d61ae0d6cb072a81b5569 Author: Simon McVittie Date: 2011-04-13 19:00:41 +0100 dbus_g_proxy_add_signal: document error cases Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36216 Reviewed-by: Guillaume Desmottes dbus/dbus-gproxy.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 52f4e09d49551f3a8ece6578a6cb6e016c03a9d8 Author: Simon McVittie Date: 2011-05-10 12:00:15 +0100 dbus-gobject: check various preconditions for methods Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36811 dbus/dbus-gobject.c | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) commit 6a61c922cedad9f5af5c32a0d783e9fbd53f3487 Author: Simon McVittie Date: 2011-05-04 12:52:25 +0100 dbus-gobject: move weakref to ObjectExport, with ObjectRegistration pointing there This has the following results: * each exported object only needs one weak ref to itself, however many times it is registered * because the ObjectRegistration now points to the ObjectExport, it can always remove itself from the list of registrations even if the actual object has been disposed, avoiding a leak (fd.o #36811) Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36811 dbus/dbus-gobject.c | 89 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 59 insertions(+), 30 deletions(-) commit f07cf89fd36aebe5bd32f9e7cff13b5697365917 Author: Simon McVittie Date: 2011-05-04 12:25:18 +0100 Add a regression test for removing all registrations and starting again This has been confirmed to fail when the previous commit is reverted. Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36811 test/core/registrations.c | 64 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) commit c3c6f8365f5074f3f59b66c5b4ece1feb214be23 Author: Simon McVittie Date: 2011-05-04 12:24:35 +0100 dbus_g_connection_register_g_object: only hook onto signals on first use This fixes a bug in which an empty list of registrations was considered to be synonymous with the object never having been exported, resulting in this failure mode: * register object at n locations - the first time, export_signals() is called * unregister all of those locations * register object at a new location - export_signals() is wrongly called again * emit a signal - the D-Bus signal gets emitted twice Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36811 dbus/dbus-gobject.c | 48 ++++++++++++++++-------------------------------- 1 file changed, 16 insertions(+), 32 deletions(-) commit 323d5adb48f8630024f2b22172f10684508bd2a8 Author: Simon McVittie Date: 2011-05-04 10:47:56 +0100 dbus_g_connection_register_g_object: attach ObjectExport first This means we no longer need the unnecessarily subtle "steal and put back" pattern. Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36811 dbus/dbus-gobject.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) commit c9961279c5ac667d4ddca98cbd3a3dfb4f1d8705 Author: Simon McVittie Date: 2011-05-04 10:45:58 +0100 dbus-gobject: wrap the GSList of registrations in a simple struct For simplicity, the ObjectExport struct isn't freed until the object is actually destroyed, even if there are no more registrations. Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36811 dbus/dbus-gobject.c | 77 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 26 deletions(-) commit 357fef2267d4243435e0d26ae659d21bd6bcde96 Author: Simon McVittie Date: 2011-01-04 16:12:03 +0000 test/interfaces: test annotated arguments The D-Bus Specification doesn't actually allow this, but dbus-glib has always supported it, and indeed understands a couple of annotations itself - org.freedesktop.DBus.GLib.ReturnVal and ….DBus.GLib.Const. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=27598 Reviewed-by: Robert Ancell test/interfaces/valid-annotations.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit b04f6b33224973cefec959a9fe0f7de655b93d0e Author: Simon McVittie Date: 2011-01-04 16:07:39 +0000 test/interfaces: check that some invalid annotations aren't allowed Bug: https://bugs.freedesktop.org/show_bug.cgi?id=27598 Reviewed-by: Robert Ancell .gitignore | 2 ++ test/interfaces/Makefile.am | 7 ++++++- test/interfaces/invalid-annotated-node.xml | 8 ++++++++ test/interfaces/invalid-nested-annotation.xml | 8 ++++++++ test/interfaces/run-test.sh | 20 +++++++++++++++++++- 5 files changed, 43 insertions(+), 2 deletions(-) commit e4a25a148703ef7ff13e5d87276b5d6fc395a57d Author: Simon McVittie Date: 2011-01-04 16:01:39 +0000 Test that interfaces, methods, properties, signals can be annotated Bug: https://bugs.freedesktop.org/show_bug.cgi?id=27598 Reviewed-by: Robert Ancell test/interfaces/Makefile.am | 20 ++++++++++++++++++-- test/interfaces/valid-annotations.xml | 21 +++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) commit ac53fc025df08f12532fa7e3e69208db16151935 Author: Simon McVittie Date: 2011-01-04 15:51:05 +0000 Don't .gitignore everything in test/interfaces, and remove some duplication Bug: https://bugs.freedesktop.org/show_bug.cgi?id=27598 Reviewed-by: Robert Ancell .gitignore | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) commit b1338486f0ce5df460e9af67f3738f6a0f829840 Author: Simon McVittie Date: 2011-01-04 15:45:57 +0000 Allow inside too Bug: https://bugs.freedesktop.org/show_bug.cgi?id=27598 Reviewed-by: Robert Ancell dbus/dbus-gparser.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 160842c85f808a4815d005dd39a0d9419aa06788 Author: Christian Dywan Date: 2011-01-04 15:43:05 +0000 Allow signal annotations in dbus-binding-tool Bug: https://bugs.freedesktop.org/show_bug.cgi?id=27598 Bug-NB: NB#163566 Reviewed-by: Simon McVittie Reviewed-by: Robert Ancell dbus/dbus-gparser.c | 1 - 1 file changed, 1 deletion(-) commit dcbebd2ee2941136a2e04868da08777c985e0117 Author: Simon McVittie Date: 2011-05-03 18:49:19 +0100 Add a regression test for removing an object from only one connection Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32087 test/core/registrations.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit 818b90092102e4fe6d2addfe77ee5a86d50e31c5 Author: Simon McVittie Date: 2011-05-03 18:49:06 +0100 dbus_g_connection_unregister_g_object: only unregister from @connection Previously, we unregistered the object from all connections, if it was present on more than one. Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32087 dbus/dbus-gobject.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 6b29f7f317df7d96a94ac910306508452be9130c Author: Simon McVittie Date: 2011-05-03 18:43:29 +0100 Add a regression test for registering an object on two connections Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32087 test/core/registrations.c | 101 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) commit 17d5dcf86c766075400aff5d2aa3fe8e599fb715 Author: Simon McVittie Date: 2011-05-03 18:19:44 +0100 fd.o #32087: emit signals on the appropriate connections Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32087 dbus/dbus-gobject.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) commit 7f041871c3e5d023ee9cb77609bf0b69ebdbde34 Author: Simon McVittie Date: 2011-05-03 16:06:25 +0100 Add a regression test for re-registering an object at the same path Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36793 test/core/registrations.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) commit 43f9dda46e9279b4489b6bd1efa0e5f9eb825a48 Author: Simon McVittie Date: 2011-05-03 16:04:30 +0100 dbus_g_connection_register_g_object: don't destroy state on early return At the beginning of the function we steal the object's state so we can add to the list. After doing that, we must make sure we give it back! Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36793 Reviewed-by: Cosimo Alfarano Reviewed-by: Sjoerd Simons dbus/dbus-gobject.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) commit 4da28a6c49cecb902544d9152a693105d320cdac Author: Simon McVittie Date: 2011-05-03 11:59:44 +0100 dbus_g_connection_unregister_g_object: fix out-of-bounds reading The list of registrations is singly linked; we only avoid a crash here by luck. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36793 Reviewed-by: Cosimo Alfarano Reviewed-by: Sjoerd Simons dbus/dbus-gobject.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit da740bfd88850c858d1cee079c8d261a79e2c75e Author: Simon McVittie Date: 2011-05-03 15:25:08 +0100 Subsume the test for #5688 into the more general registrations test Also test that the object is unregistered by the last unref or by forced disposal, without crashing. Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36793 test/core/5688.c | 81 --------------------------------------------- test/core/Makefile.am | 9 ----- test/core/registrations.c | 73 ++++++++++++++++++++++++++++++++++++---- test/core/run-test.sh | 1 - 4 files changed, 67 insertions(+), 97 deletions(-) commit 0692c5995ea4a7013b4ab605cd76aca49239168d Author: Simon McVittie Date: 2011-05-03 15:08:27 +0100 Convert registrations test to use GTest Also use a private bus connection, for potentially better leak-detection. Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36793 test/core/registrations.c | 74 ++++++++++++++++++++++++++++++++------------- 1 file changed, 53 insertions(+), 21 deletions(-) commit 002feb57cfcfeb439be1ace875a67ad540fed950 Author: Simon McVittie Date: 2011-05-03 14:49:29 +0100 Rename test/core/unregister to registrations (no source changes) Reviewed-by: Cosimo Alfarano Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36793 .gitignore | 2 +- test/core/Makefile.am | 6 ++-- test/core/registrations.c | 71 +++++++++++++++++++++++++++++++++++++++++++++ test/core/run-test.sh | 2 +- test/core/unregister.c | 71 --------------------------------------------- 5 files changed, 76 insertions(+), 76 deletions(-) commit 15d9f31812b07439558e615d4d9bdfccaa33dbd5 Author: Mike Gorse Date: 2011-03-11 09:26:01 -0600 Fix removal of old io and timeout handlers when switching GMainContexts Bug: http://bugs.freedesktop.org/show_bug.cgi?id=35115 Reviewed-by: Simon McVittie dbus/dbus-gmain.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) commit a1a9a6f973f64e543c3d43b01bd6ef0963f8bf16 Author: Simon McVittie Date: 2011-05-10 11:17:53 +0100 test-service: ignore result of dbus_bus_request_name since we look at the error instead gcc 4.6 warns for this usage. Reviewed-by: Colin Walters Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37062 test/test-service.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 6c1e9559094be37bf66731b9f09fffcb1a19e8e5 Author: Simon McVittie Date: 2011-05-10 11:16:45 +0100 marshal_collection_array: statically assert that size conversion is not needed Previously, the function blindly assumed this without a check. Reviewed-by: Colin Walters Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37062 dbus/dbus-gvalue.c | 10 ++++++++++ 1 file changed, 10 insertions(+) commit 324122a9f0bc859bb424d9026019e9077cda4015 Author: Simon McVittie Date: 2011-05-10 11:15:32 +0100 marshal_collection_array: remove set-but-unused variable elt_size gcc 4.6 warns about these. Reviewed-by: Colin Walters Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37062 dbus/dbus-gvalue.c | 3 --- 1 file changed, 3 deletions(-) commit 341043e2d776cbd6faaf5b8d6a54a46920bb094c Author: Simon McVittie Date: 2011-05-04 15:18:48 +0100 marshal_map, marshal_struct: remove unused variable ret gcc 4.6 warns about these. Reviewed-by: Colin Walters Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37062 dbus/dbus-gvalue.c | 6 ------ 1 file changed, 6 deletions(-) commit 1ea2eee4623cace2e852f1c16b1b1ce23035d037 Author: Simon McVittie Date: 2011-05-04 15:18:18 +0100 demarshal_static_variant: remove useless call to dbus_message_iter_get_arg_type gcc 4.6 warns about this. Reviewed-by: Colin Walters Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37062 dbus/dbus-gvalue.c | 2 -- 1 file changed, 2 deletions(-) commit f8a7ccf024a19caa54d6f79cd9d62a63a9b36c5b Author: Simon McVittie Date: 2011-05-04 15:17:51 +0100 bash completion helper: remove unused variable 'prev', and simplify gcc 4.6 warns about this. Reviewed-by: Colin Walters Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37062 dbus/dbus-bash-completion-helper.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) commit 09d85a945760d06447aea09a38ea99d0dc54de2a Author: Simon McVittie Date: 2011-03-29 17:05:04 +0100 DBusGProxy: link against GIO and use GDBus to check names' syntax Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=23616 configure.ac | 2 +- dbus/dbus-gproxy.c | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 10 deletions(-) commit f2b445d0d931f3f680cefe0141e62abeafda9742 Author: Simon McVittie Date: 2011-03-29 15:08:36 +0100 dbus_g_proxy_end_call: check that it's a proxy Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=23616 dbus/dbus-gproxy.c | 2 ++ 1 file changed, 2 insertions(+) commit 811089dae49c2f47d0f15fd7e9c180674f484391 Author: Simon McVittie Date: 2011-03-29 15:08:05 +0100 dbus_g_proxy_set_interface: check that it's a proxy and not destroyed If it has emitted destroy, our use of priv->manager will be a NULL pointer dereference. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=23616 dbus/dbus-gproxy.c | 5 +++++ 1 file changed, 5 insertions(+) commit af3d48b10042616ac7ecceed5af8ddaeecc093f5 Author: Simon McVittie Date: 2011-03-29 15:07:23 +0100 Document that most DBusGProxy methods stop working on ::destroy Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=23616 dbus/dbus-gproxy.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) commit 63bd85823fd3039e88176105434c7bbdeae71e84 Author: Simon McVittie Date: 2011-03-29 15:06:18 +0100 dbus_g_proxy_new_from_proxy: check that the old proxy is in fact a proxy Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=23616 dbus/dbus-gproxy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 97de5501c2ebb29e4e32822bae0e45c88140bffd Author: Alban Crequy Date: 2011-04-14 14:48:56 +0100 DBusGProxy: remove duplicate owner match rules. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33646 Reviewed-by: Simon McVittie dbus/dbus-gproxy.c | 109 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 82 insertions(+), 27 deletions(-) commit bc0497ea0c5ac65abc3658a31c95f9b0e15680f3 Author: Simon McVittie Date: 2011-04-13 19:00:23 +0100 dbus_g_proxy_add_signal: stop falsely claiming that we read introspection If we believed the introspection, services could change their introspection and remote-crash us, so it's good that we don't. We shouldn't claim that we do, though. The second sentence is subtle: for D-Bus types that dbus-glib can map into more than one GLib type, you must currently use the one that dbus-glib would "naturally" produce. The only example I can find is that object paths must be DBUS_TYPE_G_OBJECT_PATH, even though dbus-glib can also (in principle) unmarshal object-paths as DBUS_TYPE_G_PROXY. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36216 dbus/dbus-gproxy.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit f5008cc76e0b466c4730e331857bc041aced5e94 Author: Simon McVittie Date: 2011-03-28 18:52:27 +0100 improve documentation of proxy timeouts to mention that -1 is special Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gproxy.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) commit 25c4b24a0d8490a7ba667b9944ce9b1c0808878a Author: Simon McVittie Date: 2011-03-28 18:52:02 +0100 Don't allow proxy timeouts to be set negative, except for -1 libdbus checks this as a precondition, but to avoid astonishing error behaviour (interpreted as OOM), so should we. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gproxy.c | 3 +++ 1 file changed, 3 insertions(+) commit 35d1d8479031393f86fe668d2a1f64325b5dd1be Author: Simon McVittie Date: 2011-03-28 17:35:51 +0100 DBusGProxy: share OOM handler Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gproxy.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) commit 3a0e477ed6648bcb99711976fd51f4c0394000c6 Author: Simon McVittie Date: 2011-03-28 17:32:11 +0100 dbus_g_proxy_call_no_reply: don't assume NULL message means OOM It might either be OOM or bad arguments, probably the latter. That's programming error, but we already raised a critical warning, so be silent. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gproxy.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit d0332f9862c3af18161f58444f35c7d03d9fb067 Author: Simon McVittie Date: 2011-03-28 17:32:00 +0100 dbus_g_proxy_begin_call_internal: don't assume NULL message means OOM It might either be OOM or bad arguments, probably the latter. That's programming error, but we already raised a critical warning, so be silent. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gproxy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit cd0da3f56873c5399b6247791df16acd3f4a73b1 Author: Simon McVittie Date: 2011-03-28 17:30:29 +0100 dbus_g_proxy_marshal_args_to_message: diagnose inability to marshal args Failure to marshal arguments is entirely reachable, albeit only via programming error. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gproxy.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit 8b75efc7941ac789605128d48f82168da18bb9fd Author: Simon McVittie Date: 2011-03-28 17:27:18 +0100 marshal_collection_array: simplify exit path Also don't assume that failure of dbus_message_iter_close_container is always OOM. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) commit 7729c5a4ee9c1bba0fe3f35d840c542303e26a1a Author: Simon McVittie Date: 2011-03-28 17:26:56 +0100 marshal_collection_array: if appending fails, don't assume OOM Appending can also fail by appending ((gboolean) 23) or something; admittedly, that's a programming error. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 73c1dc8031df7c9de0ab321f02cc5bedc49be7c1 Author: Simon McVittie Date: 2011-03-28 17:25:50 +0100 marshal_collection_array: assert validity of signature This means we can recognise OOM reliably; do so. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit ca88a4f4adffccc1be8ddc0835d640f36d42f9fc Author: Simon McVittie Date: 2011-03-28 17:25:25 +0100 marshal_collection_array: fail early if the array is NULL Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 7228321ddafc88e12406ca49406dfaa80240be9d Author: Simon McVittie Date: 2011-03-28 17:24:53 +0100 marshal_collection_ptrarray: abandon broken containers, simplify exit path Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) commit 9e8bed2ec229e48df0b1c63560b183f46d33bffd Author: Simon McVittie Date: 2011-03-28 17:24:18 +0100 marshal_collection_ptrarray: assert that the signature is valid This means that dbus_message_iter_open_container can't fail except by OOM, so use the shared handler. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 385180d3b1975afce823d4aa9aa5daf82fa09b5a Author: Simon McVittie Date: 2011-03-28 17:23:46 +0100 marshal_variant: abandon broken containers rather than closing them Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 72c21e4e4cac8092c1dcf8348fdf3955cb01229c Author: Simon McVittie Date: 2011-03-28 17:23:34 +0100 marshal_struct: simplify teardown, and abandon broken containers Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) commit 48cf1b8b147d80265e2ab23b257d5c96ca260db9 Author: Simon McVittie Date: 2011-03-28 17:23:08 +0100 marshal_map: on error, abandon the container instead of closing it libdbus considers it to be a programming error if you close a container gracefully when its contents are incomplete. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit c827cd5b160b59246305526eac6154006f8bb8d5 Author: Simon McVittie Date: 2011-03-28 17:21:18 +0100 marshal_signature: check validity of the signature Also remove a spurious cast, and comment why we're *not* assuming that failure here is necessarily OOM. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 98e5da6a6363b68042503e8e01819dc86ec7781e Author: Simon McVittie Date: 2011-03-28 17:20:51 +0100 marshal_object: check that it's really an object and its path is valid Again, we can now assume that failure is OOM. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 5d90b996ad4e9ee927d25fc692c8b08baa2a36b4 Author: Simon McVittie Date: 2011-03-28 17:20:23 +0100 marshal_object_path: check that it's really a valid object path Again, this means failure can only be OOM, so use the shared handler. Also remove an unnecessary cast. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit f57e4e33838062e98d39764202fdcd60b709362d Author: Simon McVittie Date: 2011-03-28 17:19:45 +0100 marshal_proxy: check that it's really a proxy and its path is valid This means that dbus_message_iter_append_basic can't fail other than by OOM, so use the shared OOM handler. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit 15bf1a2ef4d8b3e37b056cc893a844706fc714dc Author: Simon McVittie Date: 2011-03-28 17:18:43 +0100 marshal_valuearray: simplify teardown If close_container fails, it might be an assertion failure in libdbus, so don't assume it's OOM. We have to handle programming errors somewhat gracefully during marshalling anyway, so there's no point in asserting. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) commit d1093f2c3413285c839cdbbca0c848b0d071cb62 Author: Simon McVittie Date: 2011-03-28 17:16:29 +0100 marshal_valuearray: abandon the container if we fail Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 782412b65a1364f8736e15217aa853083c962935 Author: Simon McVittie Date: 2011-03-28 17:15:27 +0100 marshal_basic: if marshalling a string fails, critical and return FALSE This could be OOM, but it could also be non-UTF-8. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) commit a2c276a49fa9efb8336db74db60dc1bcd2f0e8d6 Author: Simon McVittie Date: 2011-03-28 17:14:25 +0100 marshal_basic: if a boolean has a non-boolean value, diagnose the error Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 94a501e0e69cf912c7f6a5250fdea0ec5fe673c7 Author: Simon McVittie Date: 2011-03-28 17:13:50 +0100 dbus-gvalue: replace trivial cases of OOM with a call to a noreturn function In these cases there's no invalid value we could be supplying to libdbus, so it's definitely OOM, not a programming error (e.g. non-UTF-8) masquerading as OOM. Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gvalue.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) commit 41b2fd28a833995c8ccab1a690c0e3925572488b Author: Simon McVittie Date: 2011-03-28 17:54:12 +0100 When given an object path, use GVariant to check syntactic validity Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 dbus/dbus-gobject.c | 2 +- dbus/dbus-gproxy.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) commit 367a58bc081d451ff90262ae96b7d78ea74f3d11 Author: Simon McVittie Date: 2011-03-28 19:05:44 +0100 Depend on dbus 1.2.16 for dbus_message_iter_abandon_container Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30171 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0f782b478a784ac890741e5d84fd741a26d49510 Author: Simon McVittie Date: 2011-03-29 14:45:34 +0100 Stop overriding pkg-config's nice informative message if GLib is too old This means that instead of this rather ambiguous text: checking for DBUS_GLIB... no checking for DBUS_GLIB_THREADS... yes configure: error: GLib development libraries not found platforms whose GLib is too old will get the conventional output: checking for DBUS_GLIB... no configure: error: Package requirements (gobject-2.0 >= 2.26) were not met: Requested 'gobject-2.0 >= 2.26' but version of GObject is 2.24.0 Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33145 Reviewed-by: Colin Walters configure.ac | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit ab2a98bd3ae0c59f198e82cba2c81095a47fa58d Author: Robert Ancell Date: 2011-02-15 14:10:34 +1100 Fix linking order Reviewed-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34282 dbus/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit af0c64037673d598a6842fb344b5f3dad80ab821 Author: Will Thompson Date: 2010-06-02 16:31:54 +0100 docs: correct links in introduction Fixes https://bugs.freedesktop.org/show_bug.cgi?id=22667 — thanks to Daniel Macks for the bug report! doc/reference/dbus-glib-docs.sgml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) commit 04e11da48a6c2a75bebb5ece31cf86508203dd02 Author: Simon McVittie Date: 2011-01-04 16:33:27 +0000 Add a regression test for errors containing underscores Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30274 Reviewed-by: Will Thompson test/core/my-object.c | 15 +++++++++++++++ test/core/my-object.h | 3 ++- test/core/test-dbus-glib.c | 11 +++++++++++ test/core/test-service-glib.xml | 3 +++ 4 files changed, 31 insertions(+), 1 deletion(-) commit 2d987890c3ba2fd8efc92f8b75da88904ce425f9 Author: Simon McVittie Date: 2011-01-04 18:04:11 +0000 Run run-with-tmp-session-bus.sh directly rather than via ${SHELL} It has a correct #!/bin/sh line and is executable, so just running it is fine. This avoids running it under a user's chosen interactive shell, which might be non-POSIX (zsh, csh). Gentoo Portage apparently sets SHELL to /bin/false, presumably to trap this sort of thing. (I've tested this on Debian unstable with /bin/sh -> /bin/dash, to check that weren't accidentally relying on $SHELL being bash or similar.) Based on a workaround from Myckel Habets on the Gentoo bug. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=27193 Bug-Gentoo: https://bugs.gentoo.org/show_bug.cgi?id=254192 Reviewed-by: Colin Walters test/core/run-test.sh | 2 +- test/interfaces/run-test.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 6708c68cc9c312ffea600d0020425412ba242ddb Author: Christian Dywan Date: 2011-01-04 18:48:31 +0000 Cleanup indentation in dbus-glib-binding-tool Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32351 Bug-NB: NB#180486 Reviewed-by: Simon McVittie dbus/dbus-binding-tool-glib.c | 134 ++++++++++++++++++++--------------------- 1 file changed, 67 insertions(+), 67 deletions(-) commit f1b8944a93a22d342f744526f5c47e80e394579f Author: Christian Dywan Date: 2011-01-04 18:48:27 +0000 Plug leaks in dbus-glib-binding-tool Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32351 Bug-NB: NB#180486 Reviewed-by: Simon McVittie dbus/dbus-binding-tool-glib.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) commit 4cd1f54f4db5759db3781da4645cebcd4143e9a4 Author: Christian Dywan Date: 2010-09-20 11:57:08 +0200 Do not squash underscores in error names Underscores are used and valid according to the specification. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30274 Reviewed-by: Simon McVittie dbus/dbus-gobject.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit d4780b527f5112acf015c0e57c9911e939b16f99 Author: Christian Dywan Date: 2010-07-21 16:32:22 +0200 Watch server_set_data failure in dbus__server_setup_with_g_main Bug: https://bugs.freedesktop.org/show_bug.cgi?id=29884 Reviewed-by: Simon McVittie dbus/dbus-gmain.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit c7b83e5b3bf7291b75399eed3f01ecea0c98702f Author: Christian Dywan Date: 2010-12-13 10:14:57 -0800 Verify Increment call in dbus-glib-test Bug: https://bugs.freedesktop.org/show_bug.cgi?id=29884 Origin: vendor, Maemo Reviewed-by: Simon McVittie test/core/test-dbus-glib.c | 3 +++ 1 file changed, 3 insertions(+) commit 7e157ee379de430fce9874291701c0c6666d2c2d Author: Will Thompson Date: 2010-11-10 10:44:38 +0000 Bump version to 0.93 for development configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a12d06317591f954542d5ddbe1a1d3cad10a8156 Author: Will Thompson Date: 2010-11-10 10:25:19 +0000 Release version 0.92 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cb7a627ea838ae453d1401679a2b97acd95ba327 Author: Will Thompson Date: 2010-11-10 10:22:40 +0000 Bump GLib dependency to 2.26. G_VARIANT_TYPE_STRING_ARRAY, as used by the GVariant<->GValue conversion functions, was added in 2.26. The previous release should have had this dependency, but I didn't notice. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c12efeeb7d9eb76eeae049528cee09c331551a5e Author: Will Thompson Date: 2010-11-08 00:20:20 -0500 Bump version to 0.91 for development configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 4d4a1e266727de9ed1cba2707006435a389cac90 Author: Will Thompson Date: 2010-11-08 00:16:46 -0500 HACKING: Fix release URL; be honest about NEWS HACKING | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit b3c18c486dbb1fd2c6221d26fd64719d73ff4200 Author: Will Thompson Date: 2010-11-08 00:12:00 -0500 Makefile.am: Remove ChangeLog's spurious FORCE dependency This seems to be some kind of leftover from the now-deleted lcov stuff. Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ccd31bb39e496ba511e888d793b15bfaa22894f0 Author: Will Thompson Date: 2010-11-08 00:08:15 -0500 Release version 0.90 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 65fb5802295ff28970ac1e3f0d5adaa6927a5773 Author: Will Thompson Date: 2010-11-08 00:04:31 -0500 Build test/ before its subdirs. This fixes running `make check` without first running `make`, since subdirs of test/ depend on the binaries in that directory. test/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 22df79e0c1373b696adbbaf2791195f0a8b5fb0f Author: Mike Gorse Date: 2010-10-22 04:33:53 -0400 Fix switching a connection's GMainContext dbus_connection_setup_with_g_main and dbus_server_setup_with_g_main are intended to switch the setup to a new main loop context if they are called with a context other than the one with which they were initially called. However, this does not work in practice. The problem has to do with libdbus maintaining a list of watches associated with the connection. When dbus_connection_set_watch_functions is called, it first adds the existing watches using the new function and data, then removes the watches using the old function and data. Remove_watch calls connection_setup_remove_watch, and the latter does not check that the watch's connection setup matches the connection setup passed to it, so it winds up removing the watch from the new connection setup. (The watch has already been removed from the old setup at this point, as a side effect of dbus_watch_set_data). Fixes: Signed-off-by: Will Thompson .gitignore | 1 + dbus/dbus-gmain.c | 7 ++-- test/core/30574.c | 96 +++++++++++++++++++++++++++++++++++++++++++++++++ test/core/Makefile.am | 4 +++ test/core/run-test.sh | 1 + 5 files changed, 106 insertions(+), 3 deletions(-) commit 8f0936de52b62b025385182406e5ea5795503d76 Merge: 8aca055 afd0987 Author: Simon McVittie Date: 2010-10-14 13:06:47 +0100 Merge branch 'type-names' Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30431 commit 8aca05563f86bd24fedb4322363ae844affc3c61 Merge: 0ab27bb ad4b66d Author: Simon McVittie Date: 2010-10-14 12:37:58 +0100 Merge branch 'gvariant' Reviewed-by: Danielle Madeley Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30428 commit ad4b66db0e3a6ecab31bed214f341c4b07691224 Author: Simon McVittie Date: 2010-10-14 12:15:08 +0100 copy arrays of 'o', 'g' from GVariant without constructing a format string programmatically dbus/dbus-gvalue-parse-variant.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 869c180e12c68ed06fe973c58f26cffbf4a3cec9 Author: Simon McVittie Date: 2010-10-14 12:13:19 +0100 output unhandled GVariantClass as ASCII if possible dbus/dbus-gvalue-parse-variant.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 42192c5bc0517d747aa83e9ce82e0208c3426aab Author: Simon McVittie Date: 2010-10-14 12:06:36 +0100 Add dbus_g_value_parse_g_variant to gtkdoc doc/reference/dbus-glib-sections.txt | 1 + 1 file changed, 1 insertion(+) commit f3b4a2d82994f0013f14fffbd3fedd8cd45cf7da Author: Simon McVittie Date: 2010-10-14 12:06:07 +0100 dbus_g_value_parse_variant_by_type: talk about GVariant, not GDBus, in docs dbus/dbus-gvalue-parse-variant.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit bc207d10cace8051ff7b2ddf51176030c0d40d17 Author: Simon McVittie Date: 2010-10-14 12:05:48 +0100 Adjust syntax to avoid relying on array/pointer duality dbus/dbus-gvalue-parse-variant.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit a66176ecd5eab86d62e23c393c90dfda4d9ca354 Author: Simon McVittie Date: 2010-10-14 12:04:29 +0100 dbus_g_value_basic_array_parse_variant: allow the fast path to be taken dbus/dbus-gvalue-parse-variant.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b9c4c4bf00321ab1fb092514c6b1312d82a098c3 Author: Simon McVittie Date: 2010-10-13 13:27:33 +0100 Test dbus_g_value_parse_g_variant Also test dbus_g_value_build_g_variant more thoroughly, by carrying out various round-trip conversions. test/core/test-gvariant.c | 283 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 283 insertions(+) commit 817e1fc7c50ccde3643c20ed837dce00bc16a885 Author: Simon McVittie Date: 2010-10-13 12:57:35 +0100 dbus_g_value_build_g_variant: cope with empty arrays, maps We can't just derive the type from the first entry if there's no first entry, so for the empty case we need a function whose structure mirrors dbus_g_value_build_g_variant itself, which just returns the type. dbus/dbus-gtype-specialized.c | 114 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 112 insertions(+), 2 deletions(-) commit 53d4457fb5bd71467acb1fbca7ecd80d8e39e189 Author: Simon McVittie Date: 2010-10-13 12:52:39 +0100 dbus_g_type_specialized_map_append: document that the value contents are stolen This is highly non-obvious, and tripped me up while writing dbus_g_value_parse_g_variant. dbus/dbus-gtype-specialized.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 26e1c1d86b6e583ac326674ab8b886673f7c1f90 Author: Simon McVittie Date: 2010-10-13 12:52:07 +0100 fd.o #30428: add dbus_g_value_parse_g_variant This is the inverse of dbus_g_value_build_g_variant, and can be used to present an API with GVariant 'in' arguments to library users, then translate them into GValue for transmission over dbus-glib, as a transition mechanism. dbus/Makefile.am | 2 + dbus/dbus-glib.h | 2 + dbus/dbus-gvalue-parse-variant.c | 525 ++++++++++++++++++++++++++++++++++++++ dbus/dbus-gvalue-parse-variant.h | 39 +++ 4 files changed, 568 insertions(+) commit abe6ee06e30f71187aeaed2c8804cbcc6692d8cc Author: Simon McVittie Date: 2010-10-13 12:48:51 +0100 replace remnants of gcov support with lcov.am from telepathy-glib .gitignore | 4 ++++ Makefile.am | 27 +-------------------------- tools/lcov.am | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 26 deletions(-) commit b4362df4d4b9ccd3246f102f7990dbda426f1b8c Author: Simon McVittie Date: 2010-10-12 15:27:52 +0100 Remove gcov decoder, which hasn't worked since dbus-glib left libdbus Makefile.am | 16 +- test/Makefile.am | 12 +- test/decode-gcov.c | 2652 ---------------------------------------------------- 3 files changed, 2 insertions(+), 2678 deletions(-) commit c42b86fecc793edaf82055a3552f1490be8ad29c Author: Simon McVittie Date: 2010-10-12 15:19:24 +0100 Test dbus_g_value_build_g_variant for various fixed arrays test/core/test-gvariant.c | 217 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) commit 75161c695e8d9729ead8543b1297202eee1894f9 Author: Simon McVittie Date: 2010-10-12 15:19:05 +0100 Actually run test/core/test-gvariant test/core/run-test.sh | 1 + 1 file changed, 1 insertion(+) commit 48b2b580c4d6fdcd9db83db7acebb0ea4be6fff9 Author: Simon McVittie Date: 2010-10-12 14:41:35 +0100 Give specialized GArrays iteration/appending support This is necessary to have dbus_g_value_build_g_variant work on them. dbus/dbus-gvalue-utils.c | 162 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 160 insertions(+), 2 deletions(-) commit 0ab27bb2b7c3f944348e6368069ffbfcfc2bcb5a Author: Christian Dywan Date: 2010-07-21 17:28:09 +0200 Free looked up function name in dbus binding tool dbus/dbus-binding-tool-glib.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit 5784ee8f24334e634e91b8761dfa956f97a0d2ba Author: Christian Dywan Date: 2010-07-21 17:18:18 +0200 Always free method_c_name in dbus binding tool dbus/dbus-binding-tool-glib.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit 4acce76d97825721c1792417994e592542f4d3d9 Author: Christian Dywan Date: 2010-07-21 17:12:34 +0200 Free path string after emission in in statemachine server example dbus/examples/statemachine/statemachine-server.c | 1 + 1 file changed, 1 insertion(+) commit ddb48ae24e40c8636b85555e8d288e2a33cadd44 Author: Christian Dywan Date: 2010-07-21 17:10:26 +0200 Plug leak of expected_str in threaded server test test/core/test-thread-server.c | 1 + 1 file changed, 1 insertion(+) commit a07afee00e091a11dc9eefd775288a32f0e49e2d Author: Christian Dywan Date: 2010-07-21 18:41:06 +0200 Dereference main loop once variant recursion test is done test/core/test-variant-recursion.c | 2 ++ 1 file changed, 2 insertions(+) commit ffe66eb93737eb5ac699b8acba7781a5f77bdab6 Author: Christian Dywan Date: 2010-07-22 16:26:15 +0200 Remove unused method attribute variables in introspect_interfaces dbus/dbus-gobject.c | 4 ---- 1 file changed, 4 deletions(-) commit afd098718e36b8ce51f565447f429d807bab3785 Author: Simon McVittie Date: 2010-09-28 17:19:19 +0100 Add DBusGObjectPath, DBusGSignature typedefs dbus/dbus-glib.h | 2 ++ dbus/dbus-gvalue.c | 44 ++++++++++++++++++++++++++++++---- doc/reference/dbus-glib-sections.txt | 4 +++- 3 files changed, 45 insertions(+), 5 deletions(-) commit 8318613e6b186bd9e5c8a844c58beebf47426116 Author: Colin Walters Date: 2010-08-12 10:19:35 -0400 configure: Release 0.88 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 510bdcd63ae4e588a5cb72727696d5ad7fd5298b Author: Colin Walters Date: 2010-04-19 16:47:11 -0400 Respect property access flags for writing, allow disabling for reads Because DBus-GLib originally was designed as a generic "object mapping" binding, the handler for org.freedesktop.DBus.Properties simply allowed access (read or write) to any GObject property that was exported. Later, the (compile time) introspection XML was added, and while we only listed "exported" properties in the dynamic introspection XML, we still allowed Get or Set calls to any property that was valid. With this patch, we deny writes to properties which aren't listed in the XML, or are listed as read-only. For backwards compatibility however, we still allow reads. A service may disable this by calling dbus_glib_global_set_disable_legacy_property_access(). dbus/dbus-binding-tool-glib.c | 53 +++++-- dbus/dbus-glib.h | 2 + dbus/dbus-gobject.c | 293 +++++++++++++++++++++++++++++++++------ test/core/my-object.c | 63 ++++++++- test/core/my-object.h | 5 + test/core/test-dbus-glib.c | 252 +++++++++++++++++++++++++++++++-- test/core/test-service-glib.xml | 5 + 7 files changed, 601 insertions(+), 72 deletions(-) commit f0668d71d63f97c1c429dad165a30d3aadbdfa0f Author: Simon McVittie Date: 2010-08-09 11:25:19 +0100 Consolidate LDADD variables in tests/examples and make them more complete This fixes compilation with LDFLAGS=-Wl,--no-add-needed, which is the default behaviour of GNU gold, and of Fedora's patched GNU ld. See: http://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking Bug: https://bugs.freedesktop.org/show_bug.cgi?id=29274 Reviewed-by: Colin Walters dbus/examples/Makefile.am | 8 ++++---- dbus/examples/statemachine/Makefile.am | 6 ++++-- test/core/Makefile.am | 32 +++++++++++++------------------- test/interfaces/Makefile.am | 8 ++++---- 4 files changed, 25 insertions(+), 29 deletions(-) commit ccf4a4d8c82b7309af7f3fb23144690acbf8e38c Author: Simon McVittie Date: 2010-08-09 11:25:55 +0100 Add various tests etc. to .gitignore .gitignore | 7 +++++++ 1 file changed, 7 insertions(+) commit dcc9c8f2dede482614b885eace06f2dedaf2a736 Author: Simon McVittie Date: 2010-07-27 17:16:33 +0100 Add Libtool m4 to .gitignore .gitignore | 5 +++++ 1 file changed, 5 insertions(+) commit 9440209e203cccef158904800ea623568637a71e Merge: 0eec114 077d445 Author: Will Thompson Date: 2010-08-05 10:09:08 +0100 Merge remote branch 'danni/gvalue-to-gvariant' Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=28715 commit 0eec114bb510a3bb30888b0020ca0dc11dc3497d Author: Christian Dywan Date: 2010-07-22 13:38:01 +0200 Refer to dbus_g_connection_flush rather than the plain dbus call Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29214 dbus/dbus-gproxy.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 077d445078663e3ee6f93beacc14d866504148bf Author: Danielle Madeley Date: 2010-07-14 15:43:11 +1000 Support DBUS_TYPE_G_SIGNATURE dbus/dbus-gtype-specialized.c | 2 ++ test/core/test-gvariant.c | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) commit 13f7c51344111ca5266e790d2f4863fab770bfd8 Author: Danielle Madeley Date: 2010-06-25 14:35:17 +1000 Test test_g_variant_equivalent itself test/core/test-gvariant.c | 144 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) commit 90b5e06797f2c9c5ed8918d22de35d5093bc3bd1 Author: Danielle Madeley Date: 2010-06-25 14:11:40 +1000 Write a recursive equivalence function for testing the equivalence of GVariants Makes up for the limitations of g_variant_equal() test/core/test-gvariant.c | 114 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 106 insertions(+), 8 deletions(-) commit 5456dc1f10544505a61f2608f646256e28b0047a Author: Danielle Madeley Date: 2010-06-24 22:10:48 +1000 Tests for GValue-to-GVariant test/core/Makefile.am | 7 +- test/core/test-gvariant.c | 191 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 197 insertions(+), 1 deletion(-) commit 5cc0676c83ee678069886daad5fc5487f098686e Author: Danielle Madeley Date: 2010-06-24 20:52:26 +1000 fd.o #28715: Add dbus_g_value_build_g_variant() dbus/dbus-gtype-specialized.c | 127 ++++++++++++++++++++++++++++++++++ dbus/dbus-gtype-specialized.h | 2 + doc/reference/dbus-glib-sections.txt | 1 + 3 files changed, 130 insertions(+) commit 5ed147db0808e5f4ef50dfd6011419c44255ea6c Author: Danielle Madeley Date: 2010-06-24 20:59:05 +1000 Bumping required GLib to 2.24 for GVariant configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7f054d7bce4b2ea74e5268f2cf65c467773ee14f Author: Dan Williams Date: 2010-06-29 21:19:25 -0700 Fix lookup of regular properties when shadow properties are used Only free the uscore converted name if there's actually a shadow property registered for this property; otherwise if there is no shadow property we free the uscore converted one and then return it immediately after. dbus/dbus-gobject.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit e6b6e27dc2d6e3abae88d9a773a1e4c016e58aa3 Author: Simon McVittie Date: 2010-05-04 12:39:51 +0100 fd.o #27958: dbus_g_error_domain_register: rewrite the documentation Reviewed-by: Will Thompson dbus/dbus-gobject.c | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) commit 451183c140f7d6b42fdff3a6c190ef93d860c5fc Merge: 7db074f 499beb6 Author: Simon McVittie Date: 2010-05-04 12:18:31 +0100 Merge branch '14579-remove-before-cancel' Reviewed-by: Will Thompson Bug: https://bugs.freedesktop.org/show_bug.cgi?id=14579 commit 7db074fead497c31041ebf417db26ae9a7ab565c Author: Fridrich Å trba Date: 2010-04-26 18:51:49 +0200 Put the G_OS_WIN32 check where it can be defined. test/core/test-profile.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit fb7cb9f10e08eaf3887b2a63a7fa59510e40b5d2 Author: Fridrich Å trba Date: 2010-04-26 18:50:31 +0200 Fix linking of tests. On windows, undefined symbols are not allowed and symbol lookup is sequencial test/core/Makefile.am | 2 +- test/interfaces/Makefile.am | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit fadbedfbbf512d69611a80a0cd4698e3b5d579ea Author: Fridrich Å trba Date: 2010-04-26 18:44:21 +0200 Use EXEEXT so that we satisfy dependencies when cross-compiling test/core/Makefile.am | 6 +++--- test/interfaces/Makefile.am | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) commit f0abb1f78d4e4764119b57d2b6f3b5fa57d8fdfb Author: Dan Williams Date: 2010-04-22 13:26:44 -0700 core: don't pass malformed error interface to dbus (rh#581794) While clients should really register their errors, dbus-glib shouldn't be passing a malformed error interface to dbus either. It's just not nice and libdbus will call abort(). See https://bugzilla.redhat.com/show_bug.cgi?id=581794 Signed-off-by: Colin Walters dbus/dbus-gobject.c | 17 +++++++++++------ test/core/my-object.c | 12 ++++++++++++ test/core/my-object.h | 1 + test/core/test-dbus-glib.c | 8 ++++++++ test/core/test-service-glib.xml | 3 +++ 5 files changed, 35 insertions(+), 6 deletions(-) commit 47adc3b17f20a78230c5c34e635fc30bb7afbde2 Author: Colin Walters Date: 2010-04-26 10:51:39 -0400 Disable test-profile on win32 for now It uses Unix sockets, and overall isn't very interesting anyways. test/core/test-profile.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit 16deb341b52421695b81ebe8c91c81f47eb173f3 Author: Fridrich Strba Date: 2010-04-26 10:31:23 -0400 Don't use the identifier "interface" in public headers This causes problems on Windows. dbus/dbus-gidl.h | 2 +- dbus/dbus-glib.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) commit 354ed0897ae0e815e95a7eb931de6ba35325121c Author: Fridrich Strba Date: 2010-04-26 10:29:41 -0400 Use AC_CANONICAL_HOST, not _TARGET This is what GLib uses; see the Autoconf manual for the full explanation of the train wreck. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit af0ec6795ea64d6498b83f30ecd94adc4e935e7e Author: Astone Lin Date: 2010-04-19 06:56:43 -0400 Allow duplicate object path registrations for different connections We clearly need to respect the connection when comparing registrations, since it's perfectly valid to have the same one on two different connections. dbus/dbus-gobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fc7114a536571688d48ede025f1357c0e467c879 Author: Guillaume Desmottes Date: 2010-04-07 12:08:59 +0200 add mising DBUS_TYPE_G_* to the doc Reviewed-by: Will Thompson Reviewed-by: Simon McVittie doc/reference/dbus-glib-sections.txt | 9 +++++++++ 1 file changed, 9 insertions(+) commit 8df3281e536557cfd6b4056a9c95102d57596179 Author: Colin Walters Date: 2010-03-24 20:17:54 -0400 [configure] Release 0.86 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 551d86f7fe0e7f2304f57baa7a406c935182b06a Author: Dan Williams Date: 2010-03-24 14:40:09 -0700 core: performance optimization for object info lookup dbus/dbus-gobject.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) commit ed73cb2f32c411a3306c6dfe2ae541aea249f200 Author: Dan Williams Date: 2010-03-24 12:20:13 -0700 core: allow duplicate property names on GInterfaces Allows dbus-glib clients to handle objects that implement more than one interface with the properties of the same name. Normally this would not be allowed since with GObject all properties are in the same namespace. This patch allows the interface to register "shadow" properties on a per-interface basis which redirect the lookup of the property name. dbus/dbus-glib.h | 4 + dbus/dbus-gobject.c | 160 +++++++++++++++++++++++++---- test/interfaces/Makefile.am | 24 ++++- test/interfaces/test-client.c | 186 +++++++++++++++++++++++++++++++++ test/interfaces/test-dup-prop-a.xml | 6 ++ test/interfaces/test-dup-prop-b.xml | 6 ++ test/interfaces/test-dup-prop.c | 192 +++++++++++++++++++++++++++++++++++ test/interfaces/test-dup-prop.h | 60 +++++++++++ test/interfaces/test-server.c | 8 ++ 9 files changed, 627 insertions(+), 19 deletions(-) commit c1bbf6fb1b7c6e2a743c8a7353cddea52d42fa2d Author: Colin Walters Date: 2010-03-18 21:39:24 -0400 [dbus-gobject.c] Trivial compiler warning fixes dbus/dbus-gobject.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit b52c16b495632bd945328ca858533d5660106bdf Author: Colin Walters Date: 2010-03-18 21:37:38 -0400 Remove dbus-glib-undeclared.txt from git; it's a generated file 0 files changed commit 7b029451dac1fdd14da4e558cc995fb7f5263d04 Author: Colin Walters Date: 2010-03-18 21:37:05 -0400 [configure.ac] Use AM_SILENT_RULES if available configure.ac | 2 ++ 1 file changed, 2 insertions(+) commit db026859406ce768d71d4ccf850e8be56b52998c Author: Will Thompson Date: 2010-03-09 17:18:10 +0000 Free errors returned by method implementations https://bugs.freedesktop.org/show_bug.cgi?id=26981 dbus/dbus-gobject.c | 4 ++++ 1 file changed, 4 insertions(+) commit 3902ac5a13a7510b8411b1147d0cce5711cf4168 Author: Sven Herzberg Date: 2010-03-08 16:50:28 +0100 turn the gtk-doc documentation into buildable shape * dbus/dbus-gobject.c: the < and > symbols broke the sgml generation in gtk-doc dbus/dbus-gobject.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 3d69cfeab177e79b4ecfe1b4284a5bd840fd11e7 Author: Colin Walters Date: 2009-04-02 14:01:05 +0100 Fix hyphenated error codes correctly The error code names generated my glib-mkenums separate the words by hyphens which are invalid D-BUS error names. This patch converts them back to wincaps, but we can't uppercase the first letter. Based on an original patch from Neil Roberts dbus/dbus-gobject.c | 21 ++++++++++++++++++--- test/core/my-object.c | 13 +++++++++++++ test/core/my-object.h | 4 +++- test/core/test-dbus-glib.c | 7 +++++++ test/core/test-service-glib.xml | 3 +++ 5 files changed, 44 insertions(+), 4 deletions(-) commit 4538adc1fe903d1ce71ca24590df9bdac7c4a50e Author: Colin Walters Date: 2010-03-02 12:12:18 -0500 Revert "Squash underscores and dashes in errors when converting to DBus errors" This reverts commit 9637ed9f0c66982a06048b18ccf983881643e456. This incorrectly uppercased the first character in error names: https://bugzilla.redhat.com/show_bug.cgi?id=569631 dbus/dbus-gobject.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) commit 2d85761286e96df3490426af1e20e7b553448092 Author: Colin Walters Date: 2010-03-02 13:52:36 -0500 Remove dbus-glib-undocumented.txt from git It's autogenerated by gtk-doc, so shouldn't be in git. doc/reference/dbus-glib-undocumented.txt | 60 ------------------------------ 1 file changed, 60 deletions(-) commit 9637ed9f0c66982a06048b18ccf983881643e456 Author: Colin Walters Date: 2010-02-01 10:09:53 -0500 Squash underscores and dashes in errors when converting to DBus errors We were just taking the enumeration nick and appending to the DBus error name, but since these can contain '-' we need to squash. dbus/dbus-gobject.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit d039ca66f85955788e2d58294c249579bed9cc03 Author: Colin Walters Date: 2010-01-27 13:56:48 -0500 Release 0.84 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f1c3f7bf585d6010c84491372b0a6f0ae3b1432a Author: Colin Walters Date: 2010-01-27 13:01:29 -0500 Add GMainContext to dbus_g_bus_get_private, add a test case To even sort of work with threads right now, a common workaround is to open a private connection. This patch more explicitly supports creating a private connection, associating it with the GMainContext which will be used for a thread. Also, add a (very simple) test case which just uses a private connection for the default main context. dbus/dbus-glib.h | 1 + dbus/dbus-gmain.c | 4 +++- test/core/test-dbus-glib.c | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) commit 87c645ed17d6fef350e8c26e322ecde566a27d42 Author: Colin Walters Date: 2010-01-27 13:06:34 -0500 Fix compilation of dbus-gvalue.c commit c4a5653e0402f876a1824c33a19e69991ee46a27 was missing a "break;" dbus/dbus-gvalue.c | 1 + 1 file changed, 1 insertion(+) commit e6cd65545ee5cd2eeb5ccc21d5bfe8e8ac286d95 Author: Colin Walters Date: 2010-01-27 11:40:07 -0500 Add note about non-maintenance of NEWS NEWS | 7 +++++++ 1 file changed, 7 insertions(+) commit c4a5653e0402f876a1824c33a19e69991ee46a27 Author: Andres Salomon Date: 2009-08-19 08:57:21 -0400 dbus-gvalue: set an error when demarshal_basic doesn't recognize type By passing dbus_g_proxy_call an incorrect signature, we can cause the function to fail but not provide any error message (if G_DISABLE_ASSERT is defined). As smvc pointed out, this can also become a runtime error when a telepathy CM changes signature, but the client hasn't been updated. As such, g_assert isn't an appropriate action. See http://bugs.debian.org/541632 for more information. This patch causes it to set an error when demarshalling a type that it's not expecting. Instead of a NULL error, one instead sees something like the following when the method returns a path object but the client expected a string: "modem Create() failed: Expected type gchararray, got type code 'o'" Signed-off-by: Andres Salomon dbus/dbus-gvalue.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit b976413f896f2d5a0be9449fc77a716f2e67cc96 Author: Jiří KlimeÅ¡ Date: 2010-01-27 10:36:57 -0500 Fix bad NAME in dbus-binding-tool man page doc/dbus-binding-tool.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 34636b12c62523b9db789b0fbeb3a86782debf10 Author: Colin Walters Date: 2010-01-15 12:23:30 -0500 Import dbus-bus-introspect.xml upstream Rather than having consumers pass an externally-generated XML file, just include one here. In practice our target audience is OS builders, who if they have the capability to update dbus, also have the capability to update dbus-glib. Makefile.am | 1 + configure.ac | 12 -------- dbus-bus-introspect.xml | 77 +++++++++++++++++++++++++++++++++++++++++++++++ tools/Makefile.am | 15 ++------- 4 files changed, 81 insertions(+), 24 deletions(-) commit 9cefa4bae8d20beddf695380af00945790da0206 Merge: 5e5a1c1 15f4533 Author: Simon McVittie Date: 2009-11-25 14:55:32 +0000 Merge remote branch 'upstream/master' commit 15f4533742ad6aeab85ebb723ac8fca99c00e939 Author: Will Thompson Date: 2009-11-16 13:32:40 +0000 Don't leak DBusGMethodInvocation for no-reply calls https://bugs.freedesktop.org/show_bug.cgi?id=25119 dbus/dbus-gobject.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) commit 5e5a1c1930173dac0e331c2cb78a164c3565b0eb Merge: 2a4396b 90e2199 Author: Simon McVittie Date: 2009-09-29 14:22:07 +0100 Merge remote branch 'wjt/duplicate-registrations' Signed-off-by: Simon McVittie commit 2a4396b523912c3bf4d2a1ef6d6fa930c0871c67 Merge: 980b468 e2007cf Author: Simon McVittie Date: 2009-09-29 14:07:11 +0100 Merge branch '20936-fsf-address' Reviewed-by: Colin Walters commit 980b46870aa0e44a04ad1191d7af1d0601577501 Author: Stian Skjelstad Date: 2009-09-18 14:01:00 -0400 Bug 19623 - Add dbus_g_bus_get_private Useful for cases where you have to get a private connection, among them to work around threading issues. Signed-off-by: Colin Walters dbus/dbus-glib.h | 3 +++ dbus/dbus-gmain.c | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) commit 90e2199ac99f5b8ab0cd5f45dcb398ecf9af03d9 Author: Will Thompson Date: 2009-09-12 11:58:22 +0100 Copy object registration list when unregistering. Since the list of registrations on the object is modified when each path is removed, iterating it directly is wrong: after the first pass of the loop, 'iter' would point to a link which has been freed. dbus/dbus-gobject.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 39e2642e41b2293de7556fa15c57872f78ffcdc8 Author: Will Thompson Date: 2009-09-12 11:28:25 +0100 Only re-set registration list if it's non-empty dbus/dbus-gobject.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 0263b72669de710e0adda419a520ae9f123a1be9 Author: Colin Walters Date: 2009-08-19 13:27:53 -0400 Support duplicate object registrations Before commit e869fda4, we semi-supported registering the same object multiple times. We'd accept messages for both paths, however when signals were emitted, they'd both use the first object path. That commit simply disallowed multiple registrations, which broke backwards compatibility with some projects like PolicyKit which had the same object registered with different paths. With this commit, explicitly allow and support multiple registrations. The primary change is that signals are now emitted once for each registration path of an object, using the correct path. dbus/dbus-gobject.c | 159 ++++++++++++++++++++++++++++------------- test/core/test-dbus-glib.c | 41 +++++++++++ test/core/test-service-glib.c | 4 ++ 3 files changed, 154 insertions(+), 50 deletions(-) commit c993494ad463ffe55b8603e58aa5ecb6dd731144 Author: Colin Walters Date: 2009-07-16 14:09:18 -0400 Release 0.82 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 65e03ccf0f2417a83fd187035b80d680e376fd32 Author: Colin Walters Date: 2009-07-16 13:51:57 -0400 Test for git-log in Makefile.am should just be for git now The combined tools are no longer in $PATH for modern git. Makefile.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit f5edb761202d3aff8f8bd0bc68dd57d3d32d2bd1 Author: Alban Crequy Date: 2009-07-16 13:39:08 -0400 Bug 18294 - Be defensive about a possibly NULL property string As far as I can tell we should always be writing one, but it doesn't hurt to guard against NULL here. Signed-off-by: Colin Walters dbus/dbus-gobject.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 2508e687e7d7792a656c7af0aad1be851faa33bb Author: Brian Cameron Date: 2009-07-16 13:15:38 -0400 Bug 20343 - Add a man page for dbus-binding-tool Signed-off-by: Colin Walters doc/Makefile.am | 6 +- doc/dbus-binding-tool.1 | 294 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 299 insertions(+), 1 deletion(-) commit 29513843b22dbd2aba1d3ba2930bb38e2c6631e5 Author: Marc-André Lureau Date: 2009-05-09 18:13:49 +0300 build: fix undefined macro: AM_PROG_LIBTOOL with recent libtool Without this patch, I get: configure.ac:206: warning: macro `AM_PROG_LIBTOOL' not found in library configure.ac:213: error: possibly undefined macro: AM_PROG_LIBTOOL If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf2.50: /usr/bin/autoconf failed with exit status: 1 (I am using libltdl-dev 2.2.6a-4 from Debian) Makefile.am | 1 + autogen.sh | 1 + 2 files changed, 2 insertions(+) commit d66337bdf9fc8f5372d84b05ae68c818bb9c881b Author: Luis Menina Date: 2009-07-16 10:55:39 -0400 Bugg 22244 - Only include , not individual headers Signed-off-by: Colin Walters dbus/dbus-glib-tool.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 67c289a60a4ac2ee9660f38a7168a238c1b3cffb Author: Colin Walters Date: 2009-07-15 15:33:31 -0400 Clean up some compilation warnings dbus/dbus-gloader-expat.c | 6 +++--- dbus/dbus-gobject.c | 4 ++-- test/core/test-dbus-glib.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) commit 5eea6af0d24780109dbbc15b8bfa4078df3a80a2 Author: Colin Walters Date: 2009-07-15 15:28:06 -0400 Add missing prototype for dbus_g_connection_unregister_g_object The function was introduced in commit b4911558384de and intended to be public, make it so. dbus/dbus-glib.h | 2 ++ 1 file changed, 2 insertions(+) commit de68d2b2fc3012ae733212a704aa29a748f22f80 Author: Brian Tarricone Date: 2009-07-15 15:03:36 -0400 Bug 21753 - Correctly initialize GValues in dbus-binding-tool generated code GValues should have their type set to 0. Signed-off-by: Colin Walters dbus/dbus-binding-tool-glib.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) commit af07e13e6afe09456588ddba4b72cba215bc7c93 Author: Jason Leach Date: 2009-07-01 15:41:04 -0400 Bug 21362 - Remove use of deprecated symbols The _set*_take_ownership are replaced by _take, and use g_main_loop_run. dbus/dbus-binding-tool-glib.c | 6 +++--- dbus/dbus-gvalue-utils.c | 14 +++++++------- dbus/dbus-gvalue.c | 16 ++++++++-------- m4/gtk-doc.m4 | 2 +- test/core/test-dbus-glib.c | 2 +- test/core/test-thread-client.c | 2 +- test/core/test-thread-server.c | 2 +- 7 files changed, 22 insertions(+), 22 deletions(-) commit e2007cfc5822f057b975660bd369fee56a7f2eb6 Author: Simon McVittie Date: 2009-06-09 16:22:46 +0100 fd.o #20936: Fix another couple of instances of the old FSF address `git grep 'Temple Place'` now returns nothing. dbus/dbus-bash-completion-helper.c | 2 +- dbus/dbus-gtool-test.h | 2 +- dbus/dbus-gtype-specialized-priv.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit cbe5250e553112221e1230301767ad1052790b0a Author: Tobias Mueller Date: 2009-04-15 21:37:05 +0100 fd.o #20936: Update FSF address The glib bindings contain an outdated address of the FSF: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 The new address is: http://www.fsf.org/about/contact.html writes: > Free Software Foundation > 51 Franklin Street, Fifth Floor > Boston, MA 02110-1301 > USA Signed-off-by: Simon McVittie COPYING | 4 ++-- dbus/dbus-binding-tool-glib.c | 2 +- dbus/dbus-binding-tool-glib.h | 2 +- dbus/dbus-gidl.c | 2 +- dbus/dbus-gidl.h | 2 +- dbus/dbus-glib-lowlevel.h | 2 +- dbus/dbus-glib-tool.c | 2 +- dbus/dbus-glib-tool.h | 2 +- dbus/dbus-glib.c | 2 +- dbus/dbus-glib.h | 2 +- dbus/dbus-gloader-expat.c | 2 +- dbus/dbus-gmain.c | 2 +- dbus/dbus-gobject.c | 2 +- dbus/dbus-gobject.h | 2 +- dbus/dbus-gparser.c | 2 +- dbus/dbus-gparser.h | 2 +- dbus/dbus-gproxy.c | 2 +- dbus/dbus-gsignature.c | 2 +- dbus/dbus-gtest-main.c | 2 +- dbus/dbus-gtest.c | 2 +- dbus/dbus-gtest.h | 2 +- dbus/dbus-gthread.c | 2 +- dbus/dbus-gtype-specialized.c | 2 +- dbus/dbus-gtype-specialized.h | 2 +- dbus/dbus-gutils.c | 2 +- dbus/dbus-gutils.h | 2 +- dbus/dbus-gvalue-utils.c | 2 +- dbus/dbus-gvalue-utils.h | 2 +- dbus/dbus-gvalue.c | 2 +- test/core/test-profile.c | 2 +- test/decode-gcov.c | 2 +- 31 files changed, 32 insertions(+), 32 deletions(-) commit 499beb64a12cead99ccb09d7de01890aaa800ef2 Author: Simon McVittie Date: 2008-11-28 16:04:57 +0000 Bug 14579: remove pending call from hash table before cancelling it Previously, the code implicitly assumed that cancelling the pending call would not cause the DBusGProxy to be freed. This can fail if user_data for the pending call holds the last reference to the DBusGProxy - in this case, it is unsafe to be manipulating the contents of "priv" after the call is cancelled. dbus/dbus-gproxy.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit b615918eef9723c00f03d30903181d9989dfd261 Merge: cb8a113 f550c49 Author: Simon McVittie Date: 2009-06-09 16:15:49 +0100 Merge branch '13908-autoinit' Signed-off-by: Simon McVittie Reviewed-by: Colin Walters Bug: http://bugs.freedesktop.org/show_bug.cgi?id=13908 commit f550c492a10922795099166db34d8ccf5dbe63a7 Author: Simon McVittie Date: 2009-05-28 18:21:27 +0100 fd.o #13908: silently initialize specialized types whenever required Colin Walters asks: "Is there a reason not to just do the initialization at the time someone calls one of the public API entry points that depends on it?". This turns out to be non-trivial because those public API entry points are themselves used inside the initialization. dbus/Makefile.am | 1 + dbus/dbus-gtype-specialized-priv.h | 48 +++++++++++++++++++++++++++ dbus/dbus-gtype-specialized.c | 64 ++++++++++++++++++++++++++---------- dbus/dbus-gvalue-utils.c | 11 ++++--- 4 files changed, 101 insertions(+), 23 deletions(-) commit cb8a113be8808fe2c88d3e7851e79115235f9e8c Merge: 0d64d31 725e98f Author: Simon McVittie Date: 2009-05-28 18:04:20 +0100 Merge branch '20716-with-dbus-binding-tool' Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=20716 Reviewed-by: Colin Walters commit 0d64d318397da26f224abd2d7ef1f27d14a544fa Merge: 48abffb b93c2a1 Author: Simon McVittie Date: 2009-05-28 18:02:44 +0100 Merge branch '5688-survive-disconnection' This is unsuitable for cherry-picking by distros, since it adds API. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=21219 Reviewed-by: Colin Walters commit 48abffba4cd81c182901dd7c80987251ba05348e Merge: 9a0c188 e869fda Author: Simon McVittie Date: 2009-05-28 18:01:54 +0100 Merge part of branch '5688-survive-disconnection' Bug: https://bugs.freedesktop.org/show_bug.cgi?id=5688 Reviewed-by: Colin Walters commit 9a0c188e2662809950738e92b963e5602dfbd8eb Merge: 03de444 98087a3 Author: Simon McVittie Date: 2009-05-07 15:33:15 +0100 Merge branch '16776-make-dbus-errors-throwable' Reviewed-by: Colin Walters commit 03de44461132ed610c3d52133d4b4760f20e4cb2 Merge: b6b3787 f363811 Author: Simon McVittie Date: 2009-04-27 10:47:58 +0100 Merge branch '20884-proxy-manager-replace-name-owner' Reviewed-by: Colin Walters commit b6b37871960ee06d9cc589e031ec3d5d6a4a6b92 Merge: e11c0ac d275c2e Author: Simon McVittie Date: 2009-04-16 19:25:02 +0100 Merge branch '20886-configure-cleanup' Reviewed by Colin Walters, fd.o #20886. commit e11c0aced3b00733766207f15876fb300d63d442 Author: Colin Walters Date: 2009-02-25 11:27:57 -0500 Bug 19927 - Use const for GError * param we're not modifying This makes it clearer we're not taking ownership of the error, and interoperates more nicely with functions which provide const GError *. dbus/dbus-glib.h | 2 +- dbus/dbus-gobject.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit a809ea3016a0eae166df13c757f3e917dea0c0f9 Author: Vincent Untz Date: 2009-04-16 12:35:42 -0400 Bug 20879 - Use --skip-source argument for glib-genmarshal This avoids adding debug information for the temporary file. Signed-off-by: Colin Walters dbus/dbus-binding-tool-glib.c | 1 + 1 file changed, 1 insertion(+) commit b93c2a19f468930c6badf054f79597d99d86e76c Author: Simon McVittie Date: 2009-04-16 12:59:10 +0100 fd.o #21219: regression test test/core/Makefile.am | 22 ++++++++++++++- test/core/run-test.sh | 1 + test/core/unregister.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+), 1 deletion(-) commit e869fda44331e6f590f974ad779115a22f5af22e Author: Simon McVittie Date: 2009-04-16 12:57:43 +0100 dbus-gobject: save the ObjectRegistration on each object, not just the path dbus/dbus-gobject.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) commit b4911558384de9919a231c29d75d9560f81fad0a Author: Simon McVittie Date: 2009-04-16 12:58:32 +0100 fd.o #21219: implement unregistration of objects dbus/dbus-gobject.c | 25 ++++++++++++++++++++++++- doc/reference/dbus-glib-sections.txt | 1 + 2 files changed, 25 insertions(+), 1 deletion(-) commit e42535c3c0dace3ede96c50f5a9b3cc315c80190 Author: Simon McVittie Date: 2009-04-16 12:11:15 +0100 fd.o #5688: Add a regression test Also assert that dbus_g_connection_lookup_g_object works (my previous attempt to fix #5688 broke this). test/core/5688.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++ test/core/Makefile.am | 13 +++++++- test/core/run-test.sh | 1 + 3 files changed, 94 insertions(+), 1 deletion(-) commit 6de1441865da2816c6bcd8cae842be93a8a96304 Author: Simon McVittie Date: 2009-04-16 12:06:26 +0100 fd.o #5688: don't assert when exported object is destroyed *after* D-Bus connection closes My solution was to introduce an ObjectRegistration struct which encapsulates the D-Bus <-> GObject glue. Also, warn and keep the first object path if the library user registers an object at two object paths (previously, this would fail silently, use the second object path, and leak memory). dbus/dbus-gobject.c | 111 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 88 insertions(+), 23 deletions(-) commit 725e98ffa810d04baf38e5d5d3f62091334b0888 Author: Peter Korsgaard Date: 2009-04-15 21:29:09 +0100 add --with-dbus-binding-tool option to use an external dbus-binding-tool Cross compilation fix. dbus-binding-tool needs to run on the host, but gets compiled for the target. Add an option to use an external program (host version) instead, similar to the --with-introspect-xml option. Signed-off-by: Peter Korsgaard Signed-off-by: Robert Schwebel configure.ac | 5 +++++ dbus/examples/Makefile.am | 4 ++-- dbus/examples/statemachine/Makefile.am | 4 ++-- test/core/Makefile.am | 6 +++--- test/interfaces/Makefile.am | 12 ++++++------ tools/Makefile.am | 2 +- 6 files changed, 19 insertions(+), 14 deletions(-) commit a0124a5ecc829b73e2293cd7b23bf0cf0eb0a87c Author: Simon McVittie Date: 2009-03-26 18:06:53 +0000 dbus_g_type_specialized_init: make some effort at being thread-safe dbus-glib isn't really thread-safe and needs a systematic audit, but let's at least be preemptively thread-safe in new code. Signed-off-by: Simon McVittie dbus/dbus-gtype-specialized.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) commit f36381131b6f410333a9a823a4fc131ac799394f Author: Simon McVittie Date: 2009-03-26 18:00:16 +0000 fd.o#20884: dbus_g_proxy_manager_replace_name_owner: don't leave freed memory in the hash table if the name was the owner's first Here's a situation where this code would fail: * an owner :1.42 owns a name com.Example and a name org.Example * the owner_names hash table contains { :1.42 => c }, where c is a GSList link with data = "com.Example", next = o and o is a GSList link with data = "org.Example", next = NULL * the name owner for com.Example changes so :1.42 no longer owns the name * initially, names == c * g_slist_delete_link unlinks and frees c, and sets names = o * but c is still in the hash table, so next time we look in the hash table, we crash The fix is to replace c with o in the owner_names hash table. dbus/dbus-gproxy.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) commit d275c2e646f67a3929d9290c6bdb270d6346b83c Author: Simon McVittie Date: 2008-11-28 17:14:47 +0000 Remove all sorts of libdbus cruft from configure.ac configure.ac | 102 ------------------------------------------------------ test/Makefile.am | 1 - 2 files changed, 103 deletions(-) commit 6791d09f72a63dcb72d57a187210bc133f463fcf Author: Simon McVittie Date: 2008-11-28 17:07:06 +0000 Don't check for atomic integer ops GLib has perfectly good ones, and `git grep ATOMIC` confirms that we no longer use the result of the check configure.ac | 26 -------------------------- 1 file changed, 26 deletions(-) commit 6de33eb0a3e53d92e47a717849f144a0a313e923 Author: Simon McVittie Date: 2008-11-28 17:06:29 +0000 Don't check whether va_copy works `git grep DBUS_VA_COPY` confirms that we no longer care configure.ac | 75 ---------------------------------------------------------- 1 file changed, 75 deletions(-) commit 7bf91463598fc1e6ad44096f33aa4b61bf58443f Author: Simon McVittie Date: 2008-11-28 17:04:09 +0000 configure.ac: Don't check endianness `git grep ENDIAN` confirms that we no longer need it. configure.ac | 3 --- 1 file changed, 3 deletions(-) commit dc93d2a6eaf75bd783d16d90f62d8abefd4e26a4 Author: Simon McVittie Date: 2008-11-28 17:01:32 +0000 Don't define DBUS_API_SUBJECT_TO_CHANGE It isn't, and we need libdbus >= 1.1 in any case configure.ac | 2 -- 1 file changed, 2 deletions(-) commit 094f45d0097679e8d458431231bcb3c999568d60 Author: Simon McVittie Date: 2008-11-28 17:00:06 +0000 configure.ac: don't check the sizes of integers This is presumably a relic of libdbus. configure.ac | 105 ---------------------------------------------------------- 1 file changed, 105 deletions(-) commit d30b06afd0a8bb6dddeefd7ac4d978799df03a52 Author: Simon McVittie Date: 2008-11-28 16:58:37 +0000 Remove CXX cruft from configure.ac There is no C++ in this package, so why are we checking for a C++ compiler? configure.ac | 3 --- 1 file changed, 3 deletions(-) commit 98087a3d62523b621a1bd2359661ffe24553c34e Author: Simon McVittie Date: 2008-11-28 17:22:59 +0000 Bug #16776: add a regression test test/core/my-object.c | 11 +++++++++++ test/core/my-object.h | 1 + test/core/test-dbus-glib.c | 13 +++++++++++++ test/core/test-service-glib.xml | 3 +++ 4 files changed, 28 insertions(+) commit 20c474b8b8b356836e50af0e9bf3b32584d83ac4 Author: Simon McVittie Date: 2008-11-28 16:23:43 +0000 Bug 16776: teach dbus_g_method_return_error about DBUS_GERROR Code called by dbus_g_method_return_error assumes that errors in the domain DBUS_GERROR always have the code DBUS_GERROR_REMOTE_EXCEPTION. This is clearly not true, and it would be nice to be able to raise the "well-known" D-Bus errors from library user code. dbus/dbus-gobject.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 3 deletions(-) commit e18f5dd13c562333bc580f3b5bdf3ecd8d7555ce Author: Mikkel Kamstrup Erlandsen Date: 2008-11-28 15:58:43 +0000 Bug 13908: make dbus_g_type_specialized_init() safe for library users to call dbus/dbus-gtype-specialized.c | 6 ++++++ dbus/dbus-gvalue.c | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) commit bc474819fa638a0daf3c89e6d041949b73e9228e Author: Sjoerd Simons Date: 2009-03-17 11:21:56 +0000 Use g_strdup instead of strdup in dbus_g_method_get_sender dbus/dbus-gobject.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit dfef72c61c050e7f57e1d2eb601701e0a27827cc Author: Colin Walters Date: 2009-02-05 11:17:15 -0500 Bug 14183 - Listen to NameOwnerChanged using arg0 matching This is more efficient - we avoid waking up every dbus-glib using process when a process joins or leaves the bus. dbus/dbus-gproxy.c | 57 ++++++++++++++++++++++++++-------------------------- 1 file changed, 29 insertions(+), 28 deletions(-) commit 42b17678dec6d0100bcbc433441f6a75df747e5c Author: Colin Walters Date: 2009-02-05 10:59:15 -0500 Use -fno-strict-aliasing by default We're unlikely to be strict-aliasing safe anytime soon. This change corresponds with http://bugs.freedesktop.org/show_bug.cgi?id=10599 configure.ac | 8 ++++++++ 1 file changed, 8 insertions(+) commit 56b9773dc5dd589638e22f48ec4222ae491c2bc1 Author: Frederic Crozat Date: 2009-02-03 14:00:50 +0100 Fix format-security warning dbus/dbus-gobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 300b4fd822b8f57802ca35f4c867464b881632e3 Author: Colin Walters Date: 2009-02-02 19:40:51 -0500 Bump configure for unstable cycle configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 49cad2ca523de6a85f12d22ade23046c548ea601 Author: Colin Walters Date: 2009-02-02 19:40:29 -0500 Release 0.80 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b161082148a51f2a2d8a4ee85f5736791dedc276 Author: Colin Walters Date: 2009-02-02 15:07:51 -0500 Bug 19065 - handle nested nodes in dbus-binding-tool Patch modified from one provided by Stian Skelstad . Split the generate_glue function explicitly into a toplevel function and one for processing recursive nodes. dbus/dbus-binding-tool-glib.c | 108 ++++++++++++++++++++++----------------- m4/gtk-doc.m4 | 2 +- test/Makefile.am | 5 ++ test/core/Makefile.am | 6 +-- test/data/nested-introspect.xml | 10 ++++ test/test-compile-nested.sh | 5 ++ 6 files changed, 85 insertions(+), 51 deletions(-) commit 64ec55f59a9ebe699e240c2a3b4d82e85f2db4a0 Author: Doug Goldstein Date: 2009-01-30 17:38:19 -0500 Bug 19325 - parallel build fix Signed-off-by: Colin Walters dbus/Makefile.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 299460549e92665e5ea09d459d3985fc85d8d73c Author: Colin Walters Date: 2009-01-30 16:03:11 -0500 Bug 19259: Always use /etc/bash_completion.d This looks like what bash upstream has standardized on. dbus/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 78eb504bd9954918c363f357d0ab71ca85e3fc23 Author: Colin Walters Date: 2009-01-27 18:59:01 -0500 Bug 19647: Move test-types inside run-test to avoid dep on existing session bus All tests that use DBUS_BUS_SESSION should be in run-test.sh to avoid introducing a dependency on an existing session bus. test/core/Makefile.am | 2 +- test/core/run-test.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) commit 3d25c1640d59e9770c33fafb1a12766feb6494e8 Merge: d92a441 8868486 Author: Colin Walters Date: 2009-01-27 18:43:50 -0500 Merge branch 'master' of ssh://walters@git.freedesktop.org/git/dbus/dbus-glib commit d92a44109e3fdc766e34b53f7ec5329e98e13909 Author: Colin Walters Date: 2009-01-27 17:00:37 -0500 Bug 19441: Don't send replies for messages explicitly not requesting one In sending a reply when a message has the dbus_message_set_no_reply flag set, we can cause spurious denials logged on the system bus, aside from being inefficient. dbus/dbus-gobject.c | 67 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 47 insertions(+), 20 deletions(-) commit 88684866d06df99f89b30a07e4809369b4cb0453 Author: Colin Walters Date: 2008-12-19 11:18:26 -0500 Add new files missed from last commit test/core/my-object-subclass.c | 115 ++++++++++++++++++++++++++++++ test/core/my-object-subclass.h | 33 +++++++++ test/core/test-service-glib-subclass.xml | 8 +++ 3 files changed, 156 insertions(+) commit d55ffa5bbccd027caf7f2e7376b555e397a7ac3c Author: Dan Williams Date: 2008-12-18 13:09:33 -0500 Bug 19145: test cases for GetAll Add test cases for GetAll. Signed-off-by: Colin Walters test/core/Makefile.am | 11 ++- test/core/test-dbus-glib.c | 187 +++++++++++++++++++++++++++++++++++++++ test/core/test-service-glib.c | 7 ++ test/core/test-service-glib.xml | 2 + 4 files changed, 205 insertions(+), 2 deletions(-) commit 94d68f00d9d244de3b1d66d3cf78bb5171552311 Author: Tambet Ingo Date: 2008-12-18 12:09:43 +0200 Use the provided interface for org.freedesktop.DBus.Properties.GetAll call. dbus/dbus-gobject.c | 82 ++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 68 insertions(+), 14 deletions(-) commit 1b150c32aa574b421161b63bb01eeeb5ad23bf3a Author: Frederic Crozat Date: 2008-12-05 11:16:46 -0500 Fix linking order so -Wl,--as-needed works Signed-off-by: Colin Walters dbus/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit f4a6c4755d7a82bb7ec0a8bf472bfe091c310ef0 Author: Colin Walters Date: 2008-12-04 16:12:18 -0500 Do NEWS for 0.78 Should have been in earlier commit, oops. NEWS | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 3a713710a34d75d174eb632a6444e87dbf3923f4 Author: Colin Walters Date: 2008-12-04 16:02:12 -0500 Bump configure for unstable cycle configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit beaff4e7c8e6ef601a00c03a4bed533becd273be Author: Colin Walters Date: 2008-12-04 15:58:30 -0500 Release 0.78. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d77506652b555b147e79889d6163208535e1cd74 Author: Colin Walters Date: 2008-12-04 15:58:12 -0500 Clean bash completion file dbus/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 6ba71576f4417bab46ca666fa44dda52dee95e88 Author: David Zeuthen Date: 2008-07-31 12:28:07 -0400 add bash completion for dbus-send(1) For now, it's in dbus-glib since dbus doesn't have an introspection XML parser (yet). Signed-off-by: Colin Walters configure.ac | 13 + dbus/Makefile.am | 17 +- dbus/dbus-bash-completion-helper.c | 513 ++++++++++++++++++++++++++++++++++++ dbus/dbus-bash-completion.sh.in | 21 ++ 4 files changed, 563 insertions(+), 1 deletion(-) commit 48738e529dc7a0f27d185f2e79174b0e369fd0af Author: Tomas Pelka Date: 2008-12-04 15:46:31 -0500 Bug 18497 - Correct type in test case Changing to INT32 matches the sending side. Signed-off-by: Colin Walters test/core/test-thread-server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit aebec4bd82c023502600786793ba0ce0c7323fbe Author: Colin Walters Date: 2008-12-04 15:42:08 -0500 Bug 18698 - Use AC_SEARCH_LIBS to avoid unneeded dep on nsl Also changed the socket search to be the same way. configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f10ee141185f9501c852acaf557b100abafc60fb Author: Nick Welch Date: 2008-12-04 15:28:45 -0500 Typo fix in docs Signed-off-by: Colin Walters dbus/dbus-gobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c0bba240c4beb6ecfd71aefa184011e8adc27f5f Author: Robert McQueen Date: 2008-09-23 23:42:02 +0300 Bug #17329: allow hash tables to contain complex types Previously, dbus-glib has provided destroy functions for the keys and values when constructing hash tables, so that any hash tables it constructed could be entirely freed (along with their contents) by destroying/unreffing. Unfortunately this meant that any "complex" types, where you need to know the GType in order to free them, were not allowed in hash tables. In real terms, this was anything which dbus-glib marshalled to a GPtrArray, so any array of arrays, variants, structures, object paths, or other boxed types were not allowed as hash values. This patch allows a broader range of types to be used as the values in hash tables, including those where no simple free function is available. Instead of relying on the key/value destroy functions, the new hash_free function uses g_hash_table_foreach_steal to remove the keys and values pairwise and free them when the type is known. Unfortunately, it's part of the API assumptions that hash tables which were produced through the current API had valid free functions, and particularly that if the hash table was reffed by the application, that the keys/values would persist beyond when dbus-glib had unreffed it, and be freed when the hash table was later destroyed. So it's not sufficient to use only this new freeing method on all hash tables from now on - we have to behave in the old way for all of the previously allowable types (including any hash tables which contain any hash tables which were freeable in the old way). However, as these new hash tables contain values which will not be freed if you manipulate the hash table directly (removing or replacing keys, or destroying or unreffing it directly), and g_boxed_free should be used instead, a false free function is provided to print a critical warning for the developer in the case that memory would be leaked. dbus/dbus-gvalue-utils.c | 151 +++++++++++++++++++++++++++++++++++++-- test/core/test-dbus-glib.c | 37 ++++++---- test/core/test-service-glib.xml | 4 +- 3 files changed, 168 insertions(+), 24 deletions(-) commit 143b09b42d73451dcc3b835f76f8d43da786342a Author: Robert McQueen Date: 2008-09-22 21:40:48 +0100 Bug #17798: add support for 'o', 'g' and 'as' in dictionaries This teaches the parameterised hash table about how to hash, compare and free object paths and signatures, allowing them to be used as hash keys and values, and also how to free strvs, so they can be used as values. Adds some simple test methods which echo a{gas} and a{oas} dictionaries back immediately and compare the results. dbus/dbus-gvalue-utils.c | 29 ++++++++++++ test/core/my-object.c | 16 +++++++ test/core/my-object.h | 4 ++ test/core/test-dbus-glib.c | 96 +++++++++++++++++++++++++++++++++++++++ test/core/test-service-glib.xml | 12 +++++ 5 files changed, 157 insertions(+) commit e4c917189dc9478c261c94703b311e1579292f22 Author: Robert McQueen Date: 2008-09-14 21:16:10 +0100 Bug #17797: add support for 'g' type, as a boxed char * Adds DBUS_G_TYPE_SIGNATURE, which is a boxed type just like DBUS_G_TYPE_OBJECT_PATH. dbus/dbus-binding-tool-glib.c | 4 ++ dbus/dbus-glib.h | 3 ++ dbus/dbus-gmain.c | 5 ++- dbus/dbus-gsignature.c | 2 + dbus/dbus-gvalue.c | 82 ++++++++++++++++++++++++++++++++++++++- test/core/my-object.c | 7 ++++ test/core/my-object.h | 1 + test/core/test-dbus-glib.c | 19 +++++++++ test/core/test-service-glib.xml | 5 +++ 9 files changed, 126 insertions(+), 2 deletions(-) commit f89b8de02f21891f430a2e370c391238b575403a Author: Robert McQueen Date: 2008-09-23 23:45:14 +0300 Bug #17795: depend on Glib 2.10 for hash unref consistency Commit a8bf32 (for bug #11396) introduced a compile-time version check for Glib 2.10 which changed whether hash_simple_free called g_hash_table_unref or g_hash_table_destroy. This is at best useless for people who actually wanted to rely on _unref being used instead of _destroy, because dbus-glib can legitimately be built against older versions of Glib than that in use by the application itself, and at worst harmful as applications relying on the _unref semantics would have their assumptions violated on platforms where this was the case. Given in /most/ cases now, Glib 2.10 is readily available, and we were in this kinda vague state where people could've used _unref and gotten away with it, I'm going to say thats what our ABI is now, and stick to it. People can depend on the next version of dbus-glib if they rely on _unref. configure.ac | 2 +- dbus/dbus-gvalue-utils.c | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) commit 24b94fb83c0d22cf2803af692dd8ccbc485d890c Author: Robert McQueen Date: 2008-09-22 21:25:03 +0100 Bug #17794: make run-test.sh fail when die is called Missing die() function meant this wasn't returning non-zero even when tests were failing. Oops. test/core/run-test.sh | 6 ++++++ 1 file changed, 6 insertions(+) commit 3ca014ea6b55cd843f1c80b04a4e0ec41af6210e Author: Colin Walters Date: 2008-11-17 18:30:32 -0500 Bug 18573 - Fix race when service appears and disappears quickly We can't assert that a for_name_owner proxy is associated when we disassociate; if a service appears and disappears quickly, we won't be associated yet. So remove the assertion. Correspondingly we need to cancel any inflight GetNameOwner call when disassociating proxies to avoid leaking. dbus/dbus-gproxy.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) commit 0a883a523f8d133f71271276b755162c56480021 Author: Philip Van Hoof Date: 2008-09-18 18:22:59 -0400 Bug 17614: Use g_slice for allocating temporary async call data Using g_slice is going to be faster. Signed-off-by: Colin Walters dbus/dbus-binding-tool-glib.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit 4c7e60e3ff4148a181a496f85b491e8cb39d7e46 Author: Colin Walters Date: 2008-06-20 14:08:47 -0400 Bug 10373: Use of deprecated API (was used incorrectly) * dbus/dbus-gvalue.c: The use of dbus_message_iter_get_array_len here is incorrect; we don't want to allocate a number of pointers based on the length of the strings. Instead, we now use the regular GArray type which handles reallocating as size increases appropriately. dbus/dbus-gvalue.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) commit 2514b84b3644223653018cd75d0d6e1459a7ab70 Author: Colin Walters Date: 2008-06-19 12:47:16 -0400 Bug 16419: stack overflow demarshaling recursive variants * dbus/dbus-gvalue.h: Add a recursion_depth member. * dbus/dbus-gvalue.c: Keep track of recursion depth in _dbus_gvalue_demarshal, cut it off at a default (right now 32). * dbus/dbus-gobject.c: Initialize recursion depth. * dbus/dbus-gproxy.c: Ditto. * test/core/test-variant-recursion.c: Test the variant recursion case, make sure the remote site will throw an error. * test/core/Makefile.am: Add test-variant-recursion. dbus/dbus-gobject.c | 2 + dbus/dbus-gproxy.c | 2 + dbus/dbus-gvalue.c | 21 ++++++++- dbus/dbus-gvalue.h | 1 + test/core/Makefile.am | 6 ++- test/core/run-test.sh | 1 + test/core/test-variant-recursion.c | 89 ++++++++++++++++++++++++++++++++++++ 7 files changed, 119 insertions(+), 3 deletions(-) commit d1b80d803a0268bd4b3dd5b9a9522230461f2947 Author: Dan Williams Date: 2008-06-05 17:57:53 -0400 Bug 16114 [patch] wincaps-to-uscore property names for GetAll() * dbus/dbus-gobject.c: We need to uscore property names so that we actually find the right properties. dbus/dbus-gobject.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) commit 8054025ae498cc586676fd0ed6573828dd0de4a0 Author: Colin Walters Date: 2008-06-05 16:05:39 -0400 One final large HACKING update HACKING | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) commit d80bc7686a0e5cc7d45d940e8404ac4c8742b8f5 Author: Colin Walters Date: 2008-06-05 15:40:35 -0400 Pacify gtk-doc by adding new files * doc/reference/dbus-glib-undeclared.txt: * doc/reference/dbus-glib.types: New files without which gtk-doc complains. 0 files changed commit d91cf40b83f7900899fe89cc83a75c82cd4bf833 Author: Colin Walters Date: 2008-06-05 15:37:16 -0400 Another HACKING tweak HACKING | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit e4b73986d1b2d6f9badda4656e57023b2c921ff7 Author: Colin Walters Date: 2008-06-05 15:37:02 -0400 Bump for development configure.ac | 2 +- doc/reference/dbus-glib-undocumented.txt | 20 +++----------------- 2 files changed, 4 insertions(+), 18 deletions(-) commit 96f144d25c7f3d573684bd50f87d912990f3c589 Author: Colin Walters Date: 2008-06-05 15:09:02 -0400 Release 0.76 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1517f7f395527519402f8b37988de9d4ea24dbc5 Author: Colin Walters Date: 2008-06-05 15:08:40 -0400 Document release process HACKING | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) commit e0dcd92e33e566f9852df94036e74f48af795ea3 Author: Colin Walters Date: 2008-06-05 14:55:15 -0400 Update HACKING HACKING | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) commit 4f776e9db9f299dab96a12a00a6279b6977f6c32 Author: Colin Walters Date: 2008-06-05 14:48:18 -0400 Update gtk-doc doc/reference/dbus-glib-undocumented.txt | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) commit fa46dc8d35de877b8bdcb53f9508252249138bd6 Author: Colin Walters Date: 2008-06-05 14:40:09 -0400 Update NEWS NEWS | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) commit acd44d2ae3069667dbbb8b9c9c8b9c2afcad96d9 Author: Christian Persch Date: 2008-06-03 18:01:54 -0400 Bug 16217: generated bindings don't build with -DG_DISABLE_SINGLE_INCLUDES * dbus/dbus-binding-tool-glib.c: Only include glib.h because individual includes are disallowed. Signed-off-by: Colin Walters dbus/dbus-binding-tool-glib.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 1744bf88024756d17f867ab9b86aca25e2b77e64 Author: Colin Walters Date: 2008-05-28 14:11:01 -0400 Remove GConnection tests that assert, since we abort on those test/core/test-types.c | 26 -------------------------- 1 file changed, 26 deletions(-) commit a94e11973467e1b2cc43ba1e77b7413655b1dff7 Author: Colin Walters Date: 2008-05-28 00:25:57 -0400 Bug 11671: Don't use well known name in /tmp This as a side effect fixes the test suite on Solaris. test/core/peer-client.c | 13 ++++++++++++- test/core/peer-server.c | 26 ++++++++++++++------------ test/core/run-peer-test.sh | 9 +++------ 3 files changed, 29 insertions(+), 19 deletions(-) commit dceee795d0cdc5889701064ac38d3c64451b02ec Author: Colin Walters Date: 2008-05-27 23:19:52 -0400 From OpenSUSE: Add return statement in case assertions not enabled dbus/dbus-gvalue-utils.c | 1 + 1 file changed, 1 insertion(+) commit 681f3ae573b2e00dad5c1193a044a994fc50cf38 Author: Colin Walters Date: 2008-05-27 23:08:59 -0400 Bug 13060: Remove NameOwnerChange matches on unref (Kimmo Hämäläinen) dbus/dbus-gproxy.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) commit eef148bdc0f602b0fba09a851c1ca6b55b8bb71c Author: Colin Walters Date: 2008-05-27 23:01:39 -0400 Bug 15733: Cosmetic fix for removing redundant declarations dbus/dbus-gtype-specialized.h | 2 -- 1 file changed, 2 deletions(-) commit d043342c41535e610268b9bb2a45143bad0b597d Author: Colin Walters Date: 2008-05-27 22:56:00 -0400 Bug 12505: Avoid receiving duplicate NameOwnerChanged (Dan Williams) dbus/dbus-gproxy.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) commit 43db9baa4cd0921d2ee830185ab46b4646b4e73b Author: Colin Walters Date: 2008-05-27 16:49:26 -0400 Bug 10834: Fix error handling path for dbus_g_proxy_end_call_internal This patch was based initial work by Peter Kjellerstedt. This patch made obvious the need to correctly handle type mismatches in demarshal_basic, similarly to what the other demarshalers are doing. Also add some tests for error handling. dbus/dbus-gproxy.c | 25 ++++++++++++++++++++----- dbus/dbus-gvalue.c | 28 ++++++++++++++++++++++++++++ test/core/test-dbus-glib.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+), 5 deletions(-) commit dc3bfd517a3bd0e28f4fc2d030ac38bdc848eb86 Author: Colin Walters Date: 2008-05-27 16:36:58 -0400 Fix some test suite memory leaks test/core/test-dbus-glib.c | 3 +++ 1 file changed, 3 insertions(+) commit 167ea555cf3a763d148a69d0af9453b83d70d107 Author: Julien Danjou Date: 2008-04-24 14:03:42 +0200 Fix typo in --help print strings Signed-off-by: Julien Danjou Signed-off-by: Colin Walters dbus/dbus-glib-tool.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit c057283a86230904552d5c51623bbce5ab0c9770 Author: Colin Walters Date: 2008-05-27 15:15:35 -0400 Bug 10244: Fix error handling case in parser (William Jon McCann) We need to return FALSE when handling an error. dbus/dbus-gparser.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) commit 361dc90eaa269325ddc5dae0003ca11e1d7b811e Author: Colin Walters Date: 2008-05-27 14:57:20 -0400 Bug 9867: Respect ACLOCAL_FLAGS (Kalle Vahlman) autogen.sh | 1 + 1 file changed, 1 insertion(+) commit a8bf32ab8b0e30e0c74e07c58e9bc79a448683b2 Author: Colin Walters Date: 2008-05-27 14:31:58 -0400 Bug 11396: Use g_hash_table_unref if available (Marco Barisione) This lets users ref hashes with g_hash_table_ref. dbus/dbus-gvalue-utils.c | 4 ++++ 1 file changed, 4 insertions(+) commit ad35bf13f93d18b0b0e8f930ff79af9dcc1c8508 Author: Colin Walters Date: 2008-05-27 14:18:49 -0400 Bug 12675: Handle disconnected connections in calls (Kimmo Hämäläinen) dbus/dbus-gproxy.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) commit f110cd3aa0532ab6cdfb1ee9a19f839700fe32e6 Author: Colin Walters Date: 2008-05-27 13:57:40 -0400 Bug 12857: Balance va_start/va_end in error case (Kimmo Hämäläinen) dbus/dbus-gparser.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit d20c90aab3b0eca8715deaa59877f35a7d4e345e Author: Colin Walters Date: 2008-05-27 13:54:11 -0400 Bug 12849: Fix use after free (Kimmo Hämäläinen) dbus/dbus-gvalue.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit fde77bff42fac9ed95869a69acff4f9daab23e04 Author: Colin Walters Date: 2008-05-27 13:35:20 -0400 Bug 16079: Return an error on unknown property https://bugs.freedesktop.org/show_bug.cgi?id=16079 Previously we just asserted, not very useful. dbus/dbus-gobject.c | 6 +++++ test/core/test-dbus-glib.c | 62 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 67 insertions(+), 1 deletion(-) commit b26f1887f6907d4c9a1dac013649f28950c6b2d3 Author: Colin Walters Date: 2008-05-27 13:34:55 -0400 Support for monitoring conversation during tests test/core/run-test.sh | 3 +++ 1 file changed, 3 insertions(+) commit b783ce802db01a5370ce70514755e1885f6e6eb1 Author: Colin Walters Date: 2008-05-27 12:39:44 -0400 Also make CRITICAL messages fatal in tests. test/core/test-dbus-glib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8fe656de630e851bc512bbd7e7a6c18c53aecb61 Author: Simon McVittie Date: 2008-04-14 12:56:43 +0100 Freeze error ABI at the ABI used in Fedora 8 and Ubuntu gutsy. This avoids getting a different ABI depending on the version of libdbus we're compiled against. fd.o #15430, Debian #476080. dbus/dbus-glib.h | 34 ++++++++++++++++- dbus/dbus-gobject.c | 72 ++++++++++++++++++++++++++++++++++- dbus/make-dbus-glib-error-enum.sh | 25 +----------- dbus/make-dbus-glib-error-switch.sh | 29 +------------- 4 files changed, 106 insertions(+), 54 deletions(-) commit 7fccdc8386d97d8c7e963800b1fbedd47f72b66b Author: Colin Walters Date: 2008-03-31 11:23:29 -0400 Add some docs to dbus_set_g_error. dbus/dbus-gobject.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) commit 34042c4cf2fcf18e101d07e495f9fa5dda99aa58 Merge: df7c2b7 bd53ac9 Author: David Zeuthen Date: 2008-03-17 13:11:45 -0400 Merge branch 'master' of ssh://david@git.freedesktop.org/git/dbus/dbus-glib commit df7c2b783ed92f33a1bedcba12a9c30fc34ba8d5 Author: David Zeuthen Date: 2008-03-17 13:10:47 -0400 add some design advice to dbus_g_proxy_set_default_timeout() ... as requested on the mailing list. dbus/dbus-gproxy.c | 7 +++++++ 1 file changed, 7 insertions(+) commit bd53ac9f7ef9a6c2c9d1d12af382b1a8a10e9dba Author: Rob Taylor Date: 2008-03-17 15:10:43 +0100 allow namespaced extentions to introspection XML This allows us to stick namespaced documentation stuff into the introspection XML and have dbus-glib not puke on it. Patch credit goes to Colin Walters. dbus/dbus-glib-tool.c | 2 +- dbus/dbus-gparser.c | 40 +++++++++++++++++++++++++++++----------- 2 files changed, 30 insertions(+), 12 deletions(-) commit cb732d38f78dfb7c1ef73179e798fa4f42fd962e Author: Rob Taylor Date: 2008-03-17 14:26:50 +0100 bump version and dbus dependancy Bumps version to 0.75. Bumps dbus dependany to 1.1. configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 09b0fc5818812d0167243bae9fd52cdaf67f0af0 Author: David Zeuthen Date: 2008-03-15 16:51:48 -0400 Export the recently added GetAll() method on org.fd.DBus.Properties Because round-trip city is a bad place. dbus/dbus-gobject.c | 220 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 177 insertions(+), 43 deletions(-) commit bf0c9b3d6adc95863d5b5a4ce6ca994fd7fdc137 Author: David Zeuthen Date: 2008-03-15 15:32:56 -0400 Add new function to specify the default timeout for a proxy Without a function like this the generated client glue code is unusable for D-Bus methods that take a long time to complete (such as disk operations like mkfs and partitioning). Also add some missing _with_timeout functions on DBusGProxy to the gtk docs. dbus/dbus-glib.h | 3 +++ dbus/dbus-gproxy.c | 35 ++++++++++++++++++++++++++++-- doc/reference/dbus-glib-sections.txt | 3 +++ doc/reference/dbus-glib-undocumented.txt | 15 +++++++++---- 4 files changed, 50 insertions(+), 6 deletions(-) commit 1fa4129f67208e24f6ae5f9ab38a3ee26c521f87 Author: David Zeuthen Date: 2008-03-15 15:21:06 -0400 Bump version to 0.75 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1124256e1a87291101a6c287c1248c2f7276b993 Author: Ross Burton Date: 2008-02-27 14:27:49 +0000 Fix incorrect assign in test suite We were assigning a DBusConnection* to a DBusGConnection*, which is bad. test/core/test-types.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit eea8f7247e1cbeb8c00fe316a37520b98acd55dc Author: Ross Burton Date: 2008-02-27 14:22:16 +0000 Use dbus_watch_get_unix_fd not dbus_watch_get_fd The latter is deprecated, so don't use it. dbus/dbus-gmain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2cf62d7ff7d3a7bc450d0b60bb81a8365ffd310b Author: Ross Burton Date: 2008-02-27 14:19:48 +0000 Fix pending call cancelling in proxy dispose The dispose treated the hash values as DBusGProxyCall objects, but they are DBusPendingCall (thanks Dafyd Harries). dbus/dbus-gproxy.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit 8e024ae2252e6e948c28203f07aa416df3dac0b8 Author: Ross Burton Date: 2008-02-27 14:02:36 +0000 Unref the connection and message on dbus_g_return_error dbus/dbus-gobject.c | 3 +++ 1 file changed, 3 insertions(+) commit 98423ae4e6b85741ce15f097652620886a49c375 Author: Ross Burton Date: 2007-11-13 17:56:37 +0000 Allow daemondir to be configured (#10668) The daemon can be at any location, and may not be on the path. Fetch the path from the pkg-config file and use it if it is set. Thanks to Brian Cameron for this patch. configure.ac | 9 +++++++++ tools/Makefile.am | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) commit 33b7a7f05372baaaf95d0e1c2c3b758321e4b0c5 Author: Ross Burton Date: 2007-09-11 10:52:07 +0100 Update ignores Add the new tests and *~ to the ignore list. .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 4b2cf9d75f6c315071adc925ec56e3bac3423730 Author: Ross Burton Date: 2007-09-11 10:49:49 +0100 Fix bashism "function" is a bashism, so don't use it. tools/run-with-tmp-session-bus.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 3f6e2c0c76d3643a1823b5ea7c8f5486a6b448de Author: Ross Burton Date: 2007-09-11 10:37:47 +0100 Fix broken introspection XML When writing XML for properties a duplicate closing tag was written. (#8607, thanks William Jon McCann). dbus/dbus-gobject.c | 2 -- 1 file changed, 2 deletions(-) commit c08a7f910c4c746ba790375be2d0f0682471cf06 Author: Ross Burton Date: 2007-09-11 10:34:07 +0100 Fix build with non-gcc compilers AIX's compiler and some non-c99 compilers are braindead, massage the code to work with them (#11675, thanks Peter O'Gorman). dbus/dbus-gtype-specialized.c | 4 +++- dbus/examples/statemachine/statemachine.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) commit b2bcb0f3fdf8eaec9257f48dd0a0e2ca03220775 Author: Ross Burton Date: 2007-09-11 10:17:12 +0100 Fix bashisms The test suite used /bin/bash for no good reason, remove all bashisms. (#11672, thanks Peter O'Gorman). test/core/run-peer-test.sh | 4 ++-- test/core/run-test.sh | 18 +++++++++--------- test/interfaces/run-test.sh | 14 +++++++------- tools/run-with-tmp-session-bus.sh | 9 +++++---- 4 files changed, 23 insertions(+), 22 deletions(-) commit 377831cc8496bf2b3f96e96a44ff4dfc1a6c690e Author: Ross Burton Date: 2007-09-11 10:11:12 +0100 Fix build with Glib 2.6 configure.ac checks for glib 2.6, but the test suite used g_intern_static_string which was added in 2.10. This removes the use of that function because it isn't required (#11674, thanks Peter O'Gorman). test/interfaces/test-interfaces.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 2929a9d676b9961abff6c6acb1b67431f7d62ab1 Author: Rob Taylor Date: 2007-06-27 11:49:02 +0100 Update version in configure.ac Update version to 0.74 in configure.ac configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit de33a575aa58867642bcfd8bb8cb2efc631d9f1d Author: Rob Taylor Date: 2007-06-27 11:39:08 +0100 Update NEWS Update NEWS from git history. NEWS | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) commit a732cbc211b562660c5a17c898ad032fb8c041fd Author: Ross Burton Date: 2007-06-27 11:05:03 +0100 Sleep after starting the peer server, before starting the peer client. This fixes random failures due to the race. test/core/run-peer-test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 4335b1204a483ffa5c5a72d58b585f77827d852d Author: Ross Burton Date: 2007-06-27 10:58:03 +0100 Update NEWS for pending release. NEWS | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 0d77d83b7afd5837d4427b7cdc5940f54625b65c Author: Rob Taylor Date: 2007-06-22 17:15:34 +0100 make test/core/run-peer-test.sh executable 0 files changed commit 0ba73bf7cf1a2770b7aac8d57e61e755aca45b4d Author: Ross Burton Date: 2007-06-22 15:46:37 +0100 Add missing include. test/core/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit bf647c411b42064fe48877c30803cbe10d751204 Author: Ross Burton Date: 2007-06-22 15:45:57 +0100 Install the type info before creating signals This fixes the type system warnings from peer-server, because the types where used (when creating signals) before they were created. Installing type info initialises the types. test/core/my-object.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a3a6efda1117633cc8a5525811f6a3ba41f2d31b Author: Ross Burton Date: 2007-06-22 15:28:48 +0100 Init threading first to stop a warning from new GLib. test/core/peer-client.c | 2 +- test/core/peer-server.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 36ed523539074a84cd990a8513b5d02a6223c44c Author: Ross Burton Date: 2007-06-22 15:27:18 +0100 Make test script executable 0 files changed commit 514fd82183c214e3afd4cca630a20ff24b62e482 Author: Ross Burton Date: 2007-06-22 15:25:14 +0100 Remove unused variable. test/core/run-peer-test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d428aa4edf426f662e89f2b08a377b0dd481f3ac Author: Ross Burton Date: 2007-06-22 15:15:37 +0100 Remove the XML documentation support in configure It isn't used and is legacy from when this was part of dbus itself. configure.ac | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) commit 1f385f6b10799cdd0bf57d69d5212ac16ac17266 Author: Ross Burton Date: 2007-06-22 15:02:24 +0100 Fix typo in _dbus_gvalue_signals_error (#10837) It was using g_value_get_boxed() when looking at a object-holding value. Thanks to Peter Kjellerstedt for noticing this. dbus/dbus-gvalue-utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 68f03928aaac849dd12e38c01e448b569f578976 Author: Ross Burton Date: 2007-06-22 14:41:36 +0100 Update GLib requirement (#10889). INSTALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 58cacc6872e1b8cf365ac056775498b9dede71b4 Author: Rob Taylor Date: 2007-04-16 08:23:17 -0700 Document dbus-gtype-specialized Documents all the functions in dbus-gtype-specialized.c and adds an overview of the functionality. dbus/dbus-gtype-specialized.c | 312 +++++++++++++++++++++++++++--- dbus/dbus-gtype-specialized.h | 14 +- doc/reference/dbus-glib-sections.txt | 2 +- doc/reference/dbus-glib-undocumented.txt | 38 +--- 4 files changed, 304 insertions(+), 62 deletions(-) commit 26d8584c04c05be29ae35acc3a2e8f573cc79206 Author: Ross Burton Date: 2007-03-30 18:12:11 +0100 Add simple test suite for peer objects. Add a simple test suite for peer proxies. This involved refactoring the MyObject class into its own file so that it can be used by multiple tools. Also added is a test suite for dbus_connection_get_g_connection. test/core/Makefile.am | 26 +- test/core/my-object.c | 737 ++++++++++++++++++++++++++++++++++++ test/core/my-object.h | 104 ++++++ test/core/peer-client.c | 127 +++++++ test/core/peer-server.c | 55 +++ test/core/run-peer-test.sh | 9 + test/core/test-service-glib.c | 832 +---------------------------------------- test/core/test-types.c | 74 ++++ 8 files changed, 1129 insertions(+), 835 deletions(-) commit af91f5e0e2b5a20adf124707356b12da0c2f1e00 Author: Ross Burton Date: 2007-03-30 18:05:40 +0100 Support peer-to-peer proxies. Previously DBus-GLib didn't support peer proxies despite having API for them. This patch stops dbus-glib from crashing when you use a peer signal (#10233). dbus/dbus-gproxy.c | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) commit 25f056826336d4385b5488706f0f1ecc0843bf2f Author: Ross Burton Date: 2007-03-30 17:54:58 +0100 Add dbus_connection_get_g_connection. Add dbus_connection_get_g_connection, which is useful when you have a DBusConnection which was originally a DBusGConnection, and want it back again. dbus/dbus-glib-lowlevel.h | 1 + dbus/dbus-glib.c | 24 ++++++++++++++++++++++++ dbus/dbus-gmain.c | 12 ++++++------ 3 files changed, 31 insertions(+), 6 deletions(-) commit 0c46ca1a20eb8ba676ea2f1e829d039d5e3c383d Author: Ross Burton Date: 2007-03-22 15:04:14 +0000 Stop compiler warnings (#10374). dbus/dbus-gthread.c | 1 + test/interfaces/test-server.c | 2 ++ 2 files changed, 3 insertions(+) commit 72e9f061668a28cbbeae2400290e1993c5d60d3c Author: Ross Burton Date: 2007-03-28 16:32:00 +0100 Fix error handling dbus/dbus-gproxy.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) commit 9ca04c94ed6ddc2ff7459ce2031740704ec67ff2 Author: Ross Burton Date: 2007-03-22 15:38:03 +0000 Handle dbus errors which are not name has no owner dbus/dbus-gproxy.c | 3 +++ 1 file changed, 3 insertions(+) commit 85b269cc7ca221ee4fe0235154e783b3640ee62d Author: Ross Burton Date: 2007-03-22 15:05:02 +0000 Update abstract socket test from dbus The abstract socket test doesn't cross compile at all, updating the test from the original copy in DBus. configure.ac | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) commit a64b26cdde04e624b2bb42ccadd3fc252bf05667 Author: Ross Burton Date: 2007-03-22 15:10:47 +0000 Rename the error quark. The error quark was copied from GLib, renaming it to be unique. dbus/dbus-glib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5ca3418e8e00f62e3e60578e3951b51cd158f8dc Author: Rob Taylor Date: 2007-03-29 12:44:01 +0100 Update AUTHORS Correct spelling of S.Nallammai, add Ross Burton, who's been missing here for quite some time. AUTHORS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 7fbd3a1c49614e71a9ff2b3d6e43bf380527301b Author: Rob Taylor Date: 2007-03-29 12:32:46 +0100 Update AUTHORS I had failed to update AUTHORS in the last couple of releases, this commit makesit current. AUTHORS | 6 ++++++ 1 file changed, 6 insertions(+) commit f78b90659f32474b7ca56925ddebd88af7f06c86 Author: Rob Taylor Date: 2007-03-29 12:20:30 +0100 Update .gitignore Ignore autoconf errors, autom4te.cache, some new generated files. .gitignore | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 138e4ce76ae53b86488e12c43db511a838be4fc9 Author: Rob Taylor Date: 2007-02-13 14:16:22 +0000 Do libtool versioning. As we're going to start behaving like a proper library, update libtool versionsing appropriately for our added api. configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit d19c5c0eac749704af70edffaa1fa0ac70eb9373 Author: Rob Taylor Date: 2007-02-13 13:58:38 +0000 Update NEWS Releasing today.. NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e368483363fc920cf2978180f3a9fe6687465807 Author: Rob Taylor Date: 2007-02-12 04:23:42 +0000 Update NEWS Update NEWS, adding fix for bug #9769. NEWS | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 814b029d9291199bc9fdd2998c429ee15f243a93 Author: Rob Taylor Date: 2007-02-12 04:21:50 +0000 Add pkg-config support for uninstalled use. Adds dbus-glib-1-uninstalled.pc for use in build environments where dbus-glib is used as an uninstalled build dependancy. Fix due to Damien Carbery . Fixes bug #9769. configure.ac | 1 + dbus-glib-1-uninstalled.pc.in | 12 ++++++++++++ 2 files changed, 13 insertions(+) commit 6bcb544eb6bc164e367a0e849b6c41274809401e Author: Rob Taylor Date: 2007-02-09 02:49:57 +0000 Update version in configure.ac Updates version 0.73 in configure.ac configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit dba710006cb0b25454989f41babc53c12d3fc901 Author: Rob Taylor Date: 2007-02-09 02:46:57 +0000 Update NEWS ready for 0.73 release Updates NEWS with all the changes for 0.73 NEWS | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) commit 133bc8003657169f622d4340360a0e5b15a455de Author: Rob Taylor Date: 2007-02-09 02:21:20 +0000 Allow passing of NULL to strv out arguments. A nicety for the user, allows passing NULL to strv out arguments as shorthand for an empty array. Patch due to Luiz Augusto von Dentz Fixes bug #8795. dbus/dbus-gvalue.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) commit 5f70d7b59445b634f94469a8c12cf31f8f81fdae Author: Rob Taylor Date: 2007-02-09 02:13:40 +0000 Make uscore_to_wincaps return NULL when passed NULL. A null pointer dereference occured when uscore_to_wincaps was passed NULL, which could happen in some cases. Fixes bug #8318. dbus/dbus-gobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 678f8e5fdaf5c587547a96b173a5532f14337988 Author: Rob Taylor Date: 2007-02-09 02:08:57 +0000 Only respond to NameOwnerChanged if its one of our names. This fixes a crash due to code in dbus_g_proxy_manager_replace_name_owner that was dereferencing a null pointer when the process received a nameownerchanged for an object not registered with dbus-glib. Patch by Kimmo Hämäläinen . Fixes bug #8235. dbus/dbus-gproxy.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) commit 1ce4d3e7324d92d797b7e41e869b1d0ff51f129a Author: Rob Taylor Date: 2007-02-09 01:51:55 +0000 Fix dbus-binding-tool to generate headers usable from C++ Adds a cast that isn't needed in C, but is needed in C++ Thanks to Christian Persch , though his patch had a typo :) Fixes bug #6358. dbus/dbus-binding-tool-glib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6d61bad839512dedb62318fd82e2c0b20906d62f Author: Rob Taylor Date: 2007-02-09 01:26:48 +0000 Only require --prefix for server side binding generation In dbus-binding-tool, only require --prefix for server side binding generation, as client-side defaults to the useful org_foo_bar_baz. Also fixes up the help string. Closes bug #4185 dbus/dbus-glib-tool.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit cb866d68e733e48bd6a6cea21fa4b5ca648d861e Author: Rob Taylor Date: 2007-02-09 00:04:13 +0000 Clarify documentation for dbus_g_method_get_sender. Adds a note that the caller is responsible for freeing the returned value. dbus/dbus-gobject.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 22bd9971b4ac95f926b577e416f54ec57bb16d2d Author: Rob Taylor Date: 2007-02-08 23:54:33 +0000 Add new API for specifying the timeout in DBusGProxy calls. This applies the patch from S. Nalliami to provide new glib API's to allow the user to specify the timeout parameter for the method calls. Currently, in the dbus-glib APIs,the timeout value for synchronous and asynchronous method calls is hard coded as -1(ie.25seconds) which inhibits the user from specifying shorter or longer timeout values.The new APIs take the timeout value as an argument and processes the method calls. Fixes bug #9832. dbus/dbus-glib.h | 16 +++++++ dbus/dbus-gproxy.c | 121 ++++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 128 insertions(+), 9 deletions(-) commit b226873fdc2e7b98740afb93a7bae675952a29f0 Author: Rob Taylor Date: 2007-02-08 23:17:40 +0000 Dont check for libxml2 when expat not found. There isn't a version of dbus-gloader that works with libxml2, so this changes configure.ac to not check for libxml2, and error out if expat isn't found. configure.ac | 47 ++++++----------------------------------------- 1 file changed, 6 insertions(+), 41 deletions(-) commit c51ff16bc93b4741061c362de638ab5e8cace000 Author: Rob Taylor Date: 2007-02-08 15:06:08 +0000 Add configure flags --with-introspect-xml Adds the configure flags --with-introspect-xml, which allows dbus-glib to be built with pre-generated bus daemons introspection xml (such as can be gained with dbus-daemon --introspect). This allows dbus-glib to be built without a running dbus-daemon, useful for embedded systems. configure.ac | 15 +++++++++++++++ tools/Makefile.am | 5 +++++ 2 files changed, 20 insertions(+) commit c5c0bed2166767162f599958270e92122da3ff2a Author: Rob Taylor Date: 2007-02-08 15:00:17 +0000 update doc/reference/dbus-glib-undocumented.txt dbus_g_thread_init is now documented. doc/reference/dbus-glib-undocumented.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit c807d408924e9a9bcc7b2eb67b411c25888090ee Author: Rob Taylor Date: 2007-01-08 08:41:11 +0000 Use dbus_threads_init_default() rather than using own threading primitives. Modifies dbus_g_threads_init() to just call dbus_threads_init_default(), which with current dbus gives us full thread primitives with recursive locking. Fixes #9259. dbus/dbus-gthread.c | 143 +++------------------------------------------------ 1 file changed, 7 insertions(+), 136 deletions(-) commit 9bb928331e2ad602728320598698de90c9a246d6 Author: Rob Taylor Date: 2007-01-08 08:39:22 +0000 Reduce dependancy to dbus version 0.93, error out if correct version not found. In configure.ac, add code to error out if correct version of dbus-1 not found. Also use correct dependancy of 0.93, as this is when the --introspect flag was introduced to dbus-daemon. Pacth due to Luiz Augusto von Dentz . Fixes #8793. configure.ac | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit 79d115030d45fefd96d5ffc7853f80fc454c13b1 Author: Rob Taylor Date: 2007-01-07 13:34:26 +0000 Allow dbus and dbus-glib to live in different prefixes Adds Cflags: -I${includedir}/dbus-1.0 to dbus-glib-1.pc.in. Fixes #9384. dbus-glib-1.pc.in | 1 + 1 file changed, 1 insertion(+) commit 6de547af3bd7d2c8b77464435c45d22bba702cc7 Author: Rob Taylor Date: 2006-10-26 10:22:26 +0100 Correct spellings in NEWS NEWS | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) commit 83f8ed0935c37b3b5668d1a512370a51f73ccc27 Author: Rob Taylor Date: 2006-10-25 22:14:02 +0100 Update NEWS for release. NEWS | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) commit c449668fd2b8b92fde03a83ba76a0eb8bb2a9326 Author: Rob Taylor Date: 2006-10-25 21:12:03 +0100 only use -Wfloat-equal if compiler supports it Closes #7658. Thanks to Jens Granseuer for the patch. configure.ac | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) commit 505e48a851e38664c45e482b8f75ebbfd27fe278 Author: Rob Taylor Date: 2006-10-25 21:00:18 +0100 return NULL from g_return_val_if_fail in dbus_g_proxy_begin_call Closes #4159. dbus/dbus-gproxy.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 62acdb49360dfbf994ef38c8e97d9190d30149f3 Author: Rob Taylor Date: 2006-10-25 20:26:04 +0100 Add dbus-gidl.h to IGNORE_HFILES for doxygen docs doc/reference/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 0d9889a99241aebc863237faf8126663c97ae059 Author: Rob Taylor Date: 2006-10-25 20:17:55 +0100 Update tools/Makefile.am for new dbus-binding-tool behaviour tools/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0aa2db3f6f18bff7d5c62a00f052ca89e21b269f Author: Rob Taylor Date: 2006-10-25 20:03:31 +0100 Remove bashism in make-dbus-glib-error-enum.sh Closes #6700. dbus/make-dbus-glib-error-enum.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 74bcfcfbc242325ca470d483817ae37fa8d41f25 Author: Rob Taylor Date: 2006-10-25 19:37:12 +0100 Fix introspection when object has exported properties. dbus-gobject:write_interface was completely broken Fix thanks to mccann@jhu.edu. Closes #8607. dbus/dbus-gobject.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 3647d0df5780967dd505d3c046ab37ada70529bf Author: Rob Taylor Date: 2006-10-25 19:14:50 +0100 Require --prefix in dbus-binding-tool Closes #4185. dbus/dbus-glib-tool.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 054c6476495a6f85ae708ed81b9053bf666897b7 Author: Rob Taylor Date: 2006-10-25 18:34:49 +0100 Dont shadow index. Rename useage of index to index_. Thanks stdlib... Closes #8353. dbus/dbus-gtype-specialized.c | 12 ++++++------ dbus/dbus-gvalue.c | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) commit d3a494dced8e3f2de111f23ae3fbab6e32f4051a Author: Rob Taylor Date: 2006-10-25 18:27:20 +0100 Fix small leak when marshal_table is destroyed Closes #6870 with patch from Richard Hult dbus/dbus-gobject.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit 9bfec032a72e7af5945336fecbb9b6e0b6f2de9e Author: Rob Taylor Date: 2006-10-25 18:24:53 +0100 Fixes crash if disposing one DBusGProxy causes another for the same service to be unrefed in a destoyed callback. dbus/dbus-gproxy.c | 14 ++++++++- test/core/test-dbus-glib.c | 67 ++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 78 insertions(+), 3 deletions(-) commit 53bf71bd852810a271d13a73ba445622616c711c Author: Rob Taylor Date: 2006-10-25 16:41:38 +0100 Bump version to 0.72 and use modern AC_INIT, AM_INIT_AUTOMAKE configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 28a54df202f089a3e00930e36a787c175501be41 Author: Rob Taylor Date: 2006-10-25 14:36:25 +0100 Clean generated run-with-tmp-session-bus.conf on make clean test/core/Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit bcf15d72892582c28755563ca63182c198ef8f64 Author: Rob Taylor Date: 2006-10-25 14:35:25 +0100 Actually run unit tests and checks when doing make distcheck Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7c21166ef7ce9b370448a39c6c6744813933abee Author: Rob Taylor Date: 2006-10-25 14:33:53 +0100 Use TEST_CORE_SERVICE_BINARY path for core test service file test/data/valid-service-files/debug-glib.service.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d6980d9d59edcf14cc1ab5af3945bd740a3f2495 Author: Rob Taylor Date: 2006-10-25 14:32:14 +0100 Use dbus-daemon --introspect to generate DBus service introspect xml tools/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 505f5486f055558934718672f1328b52fab6cd6e Author: Rob Taylor Date: 2006-10-25 14:30:23 +0100 Actually make interfaces tests work Working interfaces/Makefile.am Make service file for interfaces test service Fix up configure.ac appropriately. Sanitise service/object namespace for interfaces tests Remove accidentally added test/interfaces/.Makefile.am.sw configure.ac | 6 ++- test/interfaces/Makefile.am | 81 +++++++++++++++++-------------------- test/interfaces/run-test.sh | 23 +---------- test/interfaces/test-client.c | 22 +++++----- test/interfaces/test-goodbye.xml | 4 +- test/interfaces/test-hello.xml | 4 +- test/interfaces/test-interfaces.c | 4 +- test/interfaces/test-objects.c | 8 ++-- test/interfaces/test-server.c | 8 ++-- test/interfaces/test-song.xml | 4 +- 10 files changed, 69 insertions(+), 95 deletions(-) commit 4a479fe9516b141d94e57489f7e624ea6b94cb94 Author: Rob Taylor Date: 2006-10-24 19:51:12 +0100 Make interfaces tests work Working interfaces/Makefile.am Make service file for interfaces test service Fix up configure.ac appropriately. Sanitise service/object namespace for interfaces tests Remove accidentally added test/interfaces/.Makefile.am.swp test/data/valid-service-files/interfaces-test.service.in | 3 +++ test/interfaces/.Makefile.am.swp | Bin 12288 -> 0 bytes 2 files changed, 3 insertions(+) commit 4db00a26f0c67db96ff6185286658278678e23bd Author: Rob Taylor Date: 2006-10-24 18:07:26 +0100 Changes for test/interfaces Changed configure.ac and test/Makefile.am configure.ac | 1 + test/Makefile.am | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) commit 4f6a75760f55eeb79113d09baa46ecdd09e100e6 Author: Rob Taylor Date: 2006-10-24 16:36:08 +0100 Add tests for new interfaces functionaility From bug #5173 test/interfaces/.Makefile.am.swp | Bin 0 -> 12288 bytes test/interfaces/.gitignore | 4 ++ test/interfaces/Makefile.am | 86 +++++++++++++++++++++++++ test/interfaces/run-test.sh | 38 +++++++++++ test/interfaces/test-client.c | 85 +++++++++++++++++++++++++ test/interfaces/test-goodbye.xml | 9 +++ test/interfaces/test-hello.xml | 10 +++ test/interfaces/test-interfaces.c | 126 +++++++++++++++++++++++++++++++++++++ test/interfaces/test-interfaces.h | 48 ++++++++++++++ test/interfaces/test-objects.c | 73 +++++++++++++++++++++ test/interfaces/test-objects.h | 31 +++++++++ test/interfaces/test-server.c | 56 +++++++++++++++++ test/interfaces/test-song.xml | 9 +++ 13 files changed, 575 insertions(+) commit 4467ffca15e4783b7e90f1349be18fca3807b6cb Author: Rob Taylor Date: 2006-10-24 15:42:42 +0100 Bump GLib dependancy to 2.6 Closes #4390. configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 6ac144ff50d6c87795b470fb74cc1c0dd3e549a7 Author: Rob Taylor Date: 2006-10-17 17:06:48 +0100 Add gobject-2.0 to dbus-glib-1.pc.in glib bindings depend on gobject. Its amazing we've got this far with noone noticiing this bug... dbus-glib-1.pc.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 03e629cabe1100527c467fc5bf2a8aa4f7d3a6f5 Author: Rob Taylor Date: 2006-10-04 19:30:46 -0400 Remove accidentally added test/interfaces stuff in the autotools configure.ac | 1 - test/Makefile.am | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) commit 8e2c2ba5f8f0a25708bac86cafa46be02a1bdb78 Author: Rob Taylor Date: 2006-10-04 19:16:35 -0400 Fix up tests Puts all exposed servies in the org.freedesktop.DBus.GLib namespace Make tests run again! test/core/run-test.sh | 6 +- test/core/test-dbus-glib.c | 142 ++++++++++---------- test/core/test-profile.c | 6 +- test/core/test-service-glib.c | 16 +-- test/core/test-service-glib.xml | 6 +- test/core/test-thread-client.c | 4 +- test/core/test-thread-server.c | 2 +- .../data/valid-service-files/debug-echo.service.in | 2 +- .../data/valid-service-files/debug-glib.service.in | 2 +- test/test-service.c | 28 ++-- 10 files changed, 107 insertions(+), 107 deletions(-) commit c0bb50ca11675274464d91ed5651676449ce360d Author: Rob Taylor Date: 2006-10-04 19:13:34 -0400 Update autofoo for new tests layout configure.ac | 1 + test/Makefile.am | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) commit 33412cde926a9fc6ce86618835661bbc48475177 Author: Rob Taylor Date: 2006-10-04 23:43:29 +0100 Make autogen a bit more useful for maintainers Adds default configure parameters - the ones you usually want ;) autogen.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) commit b47e9bca585b1104f6d7309b02da27b123015611 Author: Rob Taylor Date: 2006-09-27 14:12:26 +0100 Update COPYING and HACKING to be correct for dbus-glib COPYING | 9 ++++----- HACKING | 11 +++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) commit 50541a23757d59d93918db52c9e9c65596d943c5 Author: Rob Taylor Date: 2006-09-27 14:04:19 +0100 Autoconf changes from test/glib -> test/core move configure.ac | 4 ++-- test/Makefile.am | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit 01024785e818e72c06ba44e8feea926e8aa8f7a8 Author: Rob Taylor Date: 2006-09-27 14:02:42 +0100 add an .gitignore .gitignore | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) commit 003840bd5f08802fb2a63b3c49f9d0685f6f292b Author: Rob Taylor Date: 2006-09-27 13:56:39 +0100 Move tests/glib to test/core Move tests/glib to test/core in preparation for seperate functionality tests test/core/Makefile.am | 86 ++ test/core/my-object-marshal.list | 2 + test/core/run-test.sh | 38 + test/core/test-dbus-glib.c | 1614 ++++++++++++++++++++++++++++++++++++++ test/core/test-profile.c | 1150 +++++++++++++++++++++++++++ test/core/test-service-glib.c | 928 ++++++++++++++++++++++ test/core/test-service-glib.xml | 179 +++++ test/core/test-thread-client.c | 98 +++ test/core/test-thread-server.c | 209 +++++ test/core/test-thread.h | 1 + test/glib/Makefile.am | 86 -- test/glib/my-object-marshal.list | 2 - test/glib/run-test.sh | 38 - test/glib/test-dbus-glib.c | 1614 -------------------------------------- test/glib/test-profile.c | 1150 --------------------------- test/glib/test-service-glib.c | 928 ---------------------- test/glib/test-service-glib.xml | 179 ----- test/glib/test-thread-client.c | 98 --- test/glib/test-thread-server.c | 209 ----- test/glib/test-thread.h | 1 - 20 files changed, 4305 insertions(+), 4305 deletions(-) commit de74dd48194f9aa3629d7b65dd89e0b1339f8654 Author: Rob Taylor Date: 2006-09-27 13:39:24 +0100 Rename configure.in to configure.ac for modernity configure.ac | 902 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.in | 902 ---------------------------------------------------------- 2 files changed, 902 insertions(+), 902 deletions(-) commit b17fc759d2d5422ce287706d276443fa338cbf5a Author: Rob Taylor Date: 2006-09-24 14:34:19 +0100 Fix memleak in lookup_or_register_specialized. Applies fix from Daniel d'Andrada Tenório de Carvalho, closing bug #7352. dbus/dbus-gtype-specialized.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 4d6aa726814295cfabab95a51d2e320d02b72dde Author: Rob Taylor Date: 2006-09-24 14:32:52 +0100 Add m4 directory Add missing changes from last commit. Makefile.am | 9 +++++---- autogen.sh | 6 +++++- configure.in | 1 + 3 files changed, 11 insertions(+), 5 deletions(-) commit 1571d556aa5f087e52074e5fd7c5e5c29667c551 Author: Rob Taylor Date: 2006-09-24 14:07:50 +0100 Add m4 directory Add an m4 directory and add gtk-doc.m4, which is installed in the tree by gtkdocize. m4/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit fcc2ccdb19bfa25db005494271dbd91a3205c3a6 Merge: 99e1085 3f978cf Author: Rob Taylor Date: 2006-09-21 03:44:22 +0100 Merge branch 'master' of git+ssh://git.freedesktop.org/git/dbus/dbus-glib commit 3f978cf34b91e5404dc3ea559995a9648734a2da Author: John (J5) Palmieri Date: 2006-09-08 10:56:06 -0400 * tools/Makefile.am: Add tools/session.conf to EXTRA_DIST so make check works from tarballs tools/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 99e10857c50a025fb37613c4dae720b5afc890f5 Merge: b193f2b 22ea91b Author: Rob Taylor Date: 2006-08-24 23:27:58 +0100 Merge http://ms800.montefiore.ulg.ac.be/~frecinau/dbus-glib commit 22ea91b33bff95cf480a4c992e4774b671f1534b Author: Steve Frécinaux Date: 2006-08-22 22:57:44 +0200 Fix compilation with -Werror dbus/dbus-gmain.c | 2 +- test/glib/test-dbus-glib.c | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) commit 368aaee38049dc599fb8d06d7096bcdbd04befab Author: Steve Frécinaux Date: 2006-08-22 22:26:24 +0200 Make test scripts run during out-of-tree compilation test/glib/run-test.sh | 4 +++- tools/run-with-tmp-session-bus.sh | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) commit b193f2b28472790ff66fc575d55d4e6d5a9d3e78 Author: Steve Frécinaux Date: 2006-08-22 19:36:44 +0200 Fix out-of-tree compilation (cherry picked from 4b85a9e92bcf21356f25c535b3550a330cb018a4 commit) dbus/Makefile.am | 13 +++++++++++-- dbus/examples/Makefile.am | 8 +++++++- dbus/examples/statemachine/Makefile.am | 9 ++++++++- test/Makefile.am | 7 ++++++- test/glib/Makefile.am | 8 +++++++- 5 files changed, 39 insertions(+), 6 deletions(-) commit 4b85a9e92bcf21356f25c535b3550a330cb018a4 Author: Steve Frécinaux Date: 2006-08-22 19:36:44 +0200 Fix out-of-tree compilation dbus/Makefile.am | 13 +++++++++++-- dbus/examples/Makefile.am | 8 +++++++- dbus/examples/statemachine/Makefile.am | 9 ++++++++- test/Makefile.am | 7 ++++++- test/glib/Makefile.am | 8 +++++++- 5 files changed, 39 insertions(+), 6 deletions(-) commit 46e7e573203e354b676e031067b8607b4f2640df Merge: 355ef78 3be8161 Author: Steve Frécinaux Date: 2006-08-22 19:07:59 +0200 Merge branch 'master' of git://anongit.freedesktop.org/git/dbus/dbus-glib commit 3be816118dfc560955e5cd8e85203129087959ce Author: Rob Taylor Date: 2006-08-22 12:25:39 +0100 replace doxygen with gtk-doc in INSTALL INSTALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 27e76bb78db2b467ce93fa0088c6c2407836e4ff Author: Rob Taylor Date: 2006-08-22 12:25:13 +0100 Combine .PHONY rules in toplevel Makefile.am A .PHONY rule was added by the gtk-doc patch, this combines it with the existsing .PHONY rule Makefile.am | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit d49a2a2486cd60e22b360dda8ae5a50d25486667 Author: Rob Taylor Date: 2006-08-22 12:24:00 +0100 Modifed autogen.sh to check for autotools an gtkdocize versions autogen.sh now does a full check for all the correct versions of autotools. It uses autoreconf to do the various steps. It also checks for correct gtkdocize version and pretty prints a bit, a-la gnome-autogen.sh. autogen.sh | 143 ++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 101 insertions(+), 42 deletions(-) commit 62419419257d6353c5f35001e1f538fca300f3c4 Author: Rob Taylor Date: 2006-08-22 11:44:42 +0100 add missing doc/Makefile.am from gtk-doc update. doc/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit f812d9044aa73b0c86f92dc0dcae03d26e23193a Author: Rob Taylor Date: 2006-08-22 11:43:43 +0100 Add missing m4/gtk-doc.m4 from gtk-doc patch. m4/gtk-doc.m4 | 1 + 1 file changed, 1 insertion(+) commit 2effafca679d6331201e7637b18888a70b958eb8 Author: Rob Taylor Date: 2006-08-18 20:55:17 +0100 Commit patch to switch to gtk-doc with gtype-specialized doc and updates from Marc-Andre Lureau , with minor cleanup. Closes #7726. Makefile.am | 5 +- autogen.sh | 4 + configure.in | 8 ++ dbus/dbus-gidl.c | 2 +- dbus/dbus-glib-tool.c | 2 +- dbus/dbus-glib.c | 134 ++++++++++++++------- dbus/dbus-glib.h | 41 ++++--- dbus/dbus-gmain.c | 46 ++++--- dbus/dbus-gobject.c | 140 +++++++++++++--------- dbus/dbus-gproxy.c | 193 +++++++++++++++++------------- dbus/dbus-gtype-specialized.c | 20 +++- dbus/dbus-gutils.c | 2 +- dbus/dbus-gvalue.c | 6 +- doc/reference/Makefile.am | 94 +++++++++++++++ doc/reference/dbus-binding-tool.xml | 62 ++++++++++ doc/reference/dbus-glib-docs.sgml | 83 +++++++++++++ doc/reference/dbus-glib-sections.txt | 166 +++++++++++++++++++++++++ doc/reference/dbus-glib-undocumented.txt | 78 ++++++++++++ doc/reference/version.xml.in | 1 + 19 files changed, 858 insertions(+), 229 deletions(-) commit 355ef78d98d6fc65715845d56232199162cab12a Author: Steve Frécinaux Date: 2006-08-17 11:48:20 +0200 Interface support for bindings. dbus/dbus-gobject.c | 286 +++++++++++++++++++++++++++++---------------------- 1 file changed, 161 insertions(+), 125 deletions(-) commit e6c7815f9457757d7364463759766c85981ce207 Author: John (J5) Palmieri Date: 2006-07-24 14:44:36 -0400 * Released 0.71 NEWS | 7 ++++++- configure.in | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) commit 3f720d5a5028d2b4075b474ba17fb9b7508093ac Author: John (J5) Palmieri Date: 2006-07-21 16:25:35 -0400 * Various Makefile cleanups Makefile.am | 26 ++++++++++++++++++++++++-- dbus/Makefile.am | 8 ++++---- test/Makefile.am | 2 -- 3 files changed, 28 insertions(+), 8 deletions(-) commit 05cb3fd6e2c139e61d1461443660badfbdf94a83 Author: John (J5) Palmieri Date: 2006-07-17 16:36:02 -0400 * Released 0.70 * Add NEWS to the dist Makefile.am | 1 + 1 file changed, 1 insertion(+) commit d59c4a541397033b69d575c8cc495d0f3ba13ee3 Author: John (J5) Palmieri Date: 2006-07-17 16:28:45 -0400 * Added a NEWS entry for this release NEWS | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 990802d9f01a7c5aa1ae582aad21963fe20b601e Author: John (J5) Palmieri Date: 2006-07-17 16:06:52 -0400 * remove ChangeLog because this will now be generated during dist 0 files changed commit 6a68e96e69cb17a981c801d8e7480c5bb4d51a6c Author: John (J5) Palmieri Date: 2006-07-17 15:52:26 -0400 * add the Doxyfile.in file Doxyfile.in | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) commit 89a2a3b5b5795434900f1ca41fc73162b7bb09f2 Author: John (J5) Palmieri Date: 2006-07-06 19:16:07 -0400 - distcheck cleanups dbus/Makefile.am | 2 +- tools/Makefile.am | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) commit 46ea5dc1aa64ca906d28119e2d9eed3a48e6adfc Author: John (J5) Palmieri Date: 2006-07-06 19:05:44 -0400 - Renabled another test dbus/Makefile.am | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit ae743d6feca5e24541124148a53a475f6f27e2a9 Author: John (J5) Palmieri Date: 2006-07-06 18:52:50 -0400 - add gcov source test/decode-gcov.c | 2652 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2652 insertions(+) commit ae90f4bab7a98d89a85e8e6c11b4af72bb9a2525 Author: John (J5) Palmieri Date: 2006-07-06 18:52:16 -0400 - Adding placeholder HACKING file 0 files changed commit 5f47ecc191cae12930652b708d3c52d293eba4da Author: John (J5) Palmieri Date: 2006-07-06 18:05:37 -0400 - Add back the Doxygen doc generation Makefile.am | 2 +- configure.in | 1 + doc/api/README | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) commit fdb8aaaab032ab4eb63aa80dbef7de91a3de346a Author: John (J5) Palmieri Date: 2006-07-06 17:40:30 -0400 - Add back tests to the glib bindings Makefile.am | 5 +- configure.in | 17 +- test/Makefile.am | 29 + .../data/valid-service-files/debug-echo.service.in | 3 + .../data/valid-service-files/debug-glib.service.in | 3 + test/glib/Makefile.am | 80 + test/glib/my-object-marshal.list | 2 + test/glib/run-test.sh | 36 + test/glib/test-dbus-glib.c | 1621 ++++++++++++++++++++ test/glib/test-profile.c | 1150 ++++++++++++++ test/glib/test-service-glib.c | 928 +++++++++++ test/glib/test-service-glib.xml | 179 +++ test/glib/test-thread-client.c | 98 ++ test/glib/test-thread-server.c | 209 +++ test/glib/test-thread.h | 1 + test/test-service.c | 374 +++++ tools/Makefile.am | 13 + tools/run-with-tmp-session-bus.sh | 65 + tools/session.conf | 24 + 19 files changed, 4833 insertions(+), 4 deletions(-) commit 24e982d596036202850c679aa0460b729840e45d Author: John (J5) Palmieri Date: 2006-07-06 14:40:14 -0400 - Fix up docs INSTALL | 78 ++------------------------------------------------------------- README | 71 --------------------------------------------------------- 2 files changed, 2 insertions(+), 147 deletions(-) commit 6aa2aba0a64ea19e504118dc56a1f9e559568f90 Author: John (J5) Palmieri Date: 2006-06-29 12:05:05 -0400 - Really commit the glib to dbus move and build fixes Makefile.am | 10 +++++----- configure.in | 18 +++++++++++++----- dbus/dbus-glib.h | 2 +- dbus/examples/Makefile.am | 14 +++++++------- dbus/examples/statemachine/Makefile.am | 10 +++++----- 5 files changed, 31 insertions(+), 23 deletions(-) commit 6a9ac47cc9143ee899455c576f557818dab1f7d2 Author: John (J5) Palmieri Date: 2006-06-29 11:26:07 -0400 - Created empty NEWS file - renamed glib dir to dbus so include paths stay the same in the examples - build now works dbus/.cvsignore | 13 + dbus/Makefile.am | 111 + dbus/dbus-binding-tool-glib.c | 1625 ++++++++++++ dbus/dbus-binding-tool-glib.h | 40 + dbus/dbus-gidl.c | 788 ++++++ dbus/dbus-gidl.h | 158 ++ dbus/dbus-glib-lowlevel.h | 72 + dbus/dbus-glib-tool.c | 489 ++++ dbus/dbus-glib-tool.h | 38 + dbus/dbus-glib.c | 304 +++ dbus/dbus-glib.h | 256 ++ dbus/dbus-gloader-expat.c | 266 ++ dbus/dbus-gmain.c | 814 ++++++ dbus/dbus-gmarshal.c | 89 + dbus/dbus-gmarshal.h | 21 + dbus/dbus-gmarshal.list | 1 + dbus/dbus-gobject.c | 2217 ++++++++++++++++ dbus/dbus-gobject.h | 43 + dbus/dbus-gparser.c | 881 +++++++ dbus/dbus-gparser.h | 65 + dbus/dbus-gproxy.c | 2748 ++++++++++++++++++++ dbus/dbus-gsignature.c | 210 ++ dbus/dbus-gsignature.h | 19 + dbus/dbus-gtest-main.c | 51 + dbus/dbus-gtest.c | 92 + dbus/dbus-gtest.h | 38 + dbus/dbus-gthread.c | 179 ++ dbus/dbus-gtool-test.h | 31 + dbus/dbus-gtype-specialized.c | 778 ++++++ dbus/dbus-gtype-specialized.h | 176 ++ dbus/dbus-gutils.c | 130 + dbus/dbus-gutils.h | 57 + dbus/dbus-gvalue-utils.c | 1439 ++++++++++ dbus/dbus-gvalue-utils.h | 73 + dbus/dbus-gvalue.c | 1854 +++++++++++++ dbus/dbus-gvalue.h | 43 + dbus/examples/.cvsignore | 17 + dbus/examples/Makefile.am | 38 + dbus/examples/example-client.c | 121 + dbus/examples/example-service.c | 153 ++ dbus/examples/example-service.xml | 19 + dbus/examples/example-signal-emitter.c | 132 + dbus/examples/example-signal-emitter.xml | 13 + dbus/examples/example-signal-recipient.c | 102 + dbus/examples/statemachine/.cvsignore | 16 + dbus/examples/statemachine/Makefile.am | 35 + dbus/examples/statemachine/sm-marshal.list | 1 + dbus/examples/statemachine/statemachine-client.c | 662 +++++ dbus/examples/statemachine/statemachine-server.c | 229 ++ dbus/examples/statemachine/statemachine-server.h | 37 + dbus/examples/statemachine/statemachine-server.xml | 14 + dbus/examples/statemachine/statemachine.c | 353 +++ dbus/examples/statemachine/statemachine.h | 77 + dbus/examples/statemachine/statemachine.xml | 33 + dbus/make-dbus-glib-error-enum.sh | 25 + dbus/make-dbus-glib-error-switch.sh | 29 + glib/.cvsignore | 13 - glib/Makefile.am | 105 - glib/dbus-binding-tool-glib.c | 1625 ------------ glib/dbus-binding-tool-glib.h | 40 - glib/dbus-gidl.c | 788 ------ glib/dbus-gidl.h | 158 -- glib/dbus-glib-lowlevel.h | 72 - glib/dbus-glib-tool.c | 489 ---- glib/dbus-glib-tool.h | 38 - glib/dbus-glib.c | 304 --- glib/dbus-glib.h | 256 -- glib/dbus-gloader-expat.c | 266 -- glib/dbus-gmain.c | 814 ------ glib/dbus-gmarshal.c | 89 - glib/dbus-gmarshal.h | 21 - glib/dbus-gmarshal.list | 1 - glib/dbus-gobject.c | 2217 ---------------- glib/dbus-gobject.h | 43 - glib/dbus-gparser.c | 881 ------- glib/dbus-gparser.h | 65 - glib/dbus-gproxy.c | 2748 -------------------- glib/dbus-gsignature.c | 210 -- glib/dbus-gsignature.h | 19 - glib/dbus-gtest-main.c | 51 - glib/dbus-gtest.c | 92 - glib/dbus-gtest.h | 38 - glib/dbus-gthread.c | 179 -- glib/dbus-gtool-test.h | 31 - glib/dbus-gtype-specialized.c | 778 ------ glib/dbus-gtype-specialized.h | 176 -- glib/dbus-gutils.c | 130 - glib/dbus-gutils.h | 57 - glib/dbus-gvalue-utils.c | 1439 ---------- glib/dbus-gvalue-utils.h | 73 - glib/dbus-gvalue.c | 1854 ------------- glib/dbus-gvalue.h | 43 - glib/examples/.cvsignore | 17 - glib/examples/Makefile.am | 38 - glib/examples/example-client.c | 121 - glib/examples/example-service.c | 153 -- glib/examples/example-service.xml | 19 - glib/examples/example-signal-emitter.c | 132 - glib/examples/example-signal-emitter.xml | 13 - glib/examples/example-signal-recipient.c | 102 - glib/examples/statemachine/.cvsignore | 16 - glib/examples/statemachine/Makefile.am | 35 - glib/examples/statemachine/sm-marshal.list | 1 - glib/examples/statemachine/statemachine-client.c | 662 ----- glib/examples/statemachine/statemachine-server.c | 229 -- glib/examples/statemachine/statemachine-server.h | 37 - glib/examples/statemachine/statemachine-server.xml | 14 - glib/examples/statemachine/statemachine.c | 353 --- glib/examples/statemachine/statemachine.h | 77 - glib/examples/statemachine/statemachine.xml | 33 - glib/make-dbus-glib-error-enum.sh | 25 - glib/make-dbus-glib-error-switch.sh | 29 - 112 files changed, 18315 insertions(+), 18309 deletions(-) commit 7fa1f1471e5b878253695da46a89a3186fb2a0d1 Author: John (J5) Palmieri Date: 2006-06-28 14:39:18 -0400 - Take out comment in a literal configure.in | 1 - 1 file changed, 1 deletion(-) commit 1a7d56d33f83dde917871f8b2d5af19f25786449 Author: John (J5) Palmieri Date: 2006-06-28 14:24:40 -0400 - Have autogen.sh point to dbus-glib autogen.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 24ec6aba3281c460f64bbe9d5bb2dd265d453cce Author: John (J5) Palmieri Date: 2006-06-28 14:22:25 -0400 - Add files missed in the split glib/dbus-glib-lowlevel.h | 72 +++++++++++ glib/dbus-glib.h | 256 +++++++++++++++++++++++++++++++++++++ glib/make-dbus-glib-error-enum.sh | 25 ++++ 3 files changed, 353 insertions(+) commit b8b86555280694d85d64b68d0f9131868598161a Author: John (J5) Palmieri Date: 2006-06-28 14:21:26 -0400 - Add boilerplate build files AUTHORS | 16 + COPYING | 551 +++++++++++++++++++++++++++++++++ INSTALL | 294 ++++++++++++++++++ Makefile.am | 57 ++++ README | 101 +++++++ autogen.sh | 93 ++++++ configure.in | 870 +++++++++++++++++++++++++++++++++++++++++++++++++++++ dbus-glib-1.pc.in | 12 + 8 files changed, 1994 insertions(+) commit 698177269a46c2cb80fbb2c471f5ad6314bd106b Author: Ross Burton Date: 2006-06-14 16:49:37 +0000 2006-06-14 Ross Burton * glib/dbus-gobject.c: Free a leaking GArray (surely not!) in dbus_g_method_return. glib/dbus-gobject.c | 1 + 1 file changed, 1 insertion(+) commit 0b305ffe12e7273640226e323074f2cb7d7387cc Author: Ross Burton Date: 2006-06-12 14:22:48 +0000 2006-06-12 Ross Burton * glib/dbus-gproxy.c: Don't leak a GArray when firing signals (thank Rob Taylor for review). glib/dbus-gproxy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 66e5632e14760bbd396afbc4d474cbbed22f37f7 Author: Robert McQueen Date: 2006-06-07 00:31:01 +0000 2005-05-06 Robert McQueen * glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every call to dbus_g_type_get_struct. glib/dbus-gtype-specialized.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) commit 9b151fd7a396463aa3f7c6ac0a14df444c78a6b1 Author: Robert McQueen Date: 2006-06-07 00:03:57 +0000 2005-05-06 Robert McQueen * glib/dbus-gvalue-utils.c: Fix the failing test where static string pointers were put into a GPtrArray-based specialised collection, and then freed along with the array. GValues which you add into collections or maps which have the NOCOPY flag set are assumed to not belong to the caller, so rather than the existing pointer-stealing semantics, they are copied instead. Given that the main consumers of this abstraction are the bindings themselves, I don't think this is too bad, but others should watch their choice of take vs set_static. glib/dbus-gvalue-utils.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) commit 5559e67b90b3c186bf0002253587013264ce9dc0 Author: Robert McQueen Date: 2006-06-06 23:07:04 +0000 2005-05-06 Robert McQueen * glib/dbus-gvalue-utils.c: Spotted a warning about the return value of g_slist_prepend not being used. Fixed copying of slist-based specialised collections, then wrote a test case and found that it was all broken. Went on to fix iterating and appending too. Good thing nobody uses this code yet. glib/dbus-gvalue-utils.c | 101 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 89 insertions(+), 12 deletions(-) commit 7ca236d43bc91778e90ac59500aeb1d68c8acd6f Author: Robert McQueen Date: 2006-06-06 19:45:39 +0000 2005-05-06 Robert McQueen * glib/dbus-gvalue-utils.c: Remove duplicated code by having all of the iterators use gvalue_take_ptrarray_value (the GValues themselves are discarded without unsetting, so it makes no difference whether we take or set_static). Remove cases for G_TYPE_POINTER because there really is nothing useful we can do with them in our specialised types - we *need* boxed copy/free functions at the very least. glib/dbus-gvalue-utils.c | 91 ++++++++-------------------------------------- 1 file changed, 16 insertions(+), 75 deletions(-) commit 8896d43457634c4c10d9909907d0d9082b520a07 Author: Havoc Pennington Date: 2006-05-21 05:33:52 +0000 2006-05-21 Havoc Pennington * glib/dbus-gproxy.c: Put in a pile of assertions that the proxy name is not NULL when it shouldn't be. Also a couple of possible fixes for #4637 though I don't understand why the bug happens, to be honest... also the object constructor has an assert name != NULL and the name is only currently NULL for peer-to-peer proxies that I don't think anyone uses? So it should be asserting. Anyway, for now at least see if we get an earlier assertion failure. * glib/dbus-gvalue-utils.c: Put in a couple of assertions for apparently broken code to be sure the tests fail and someone will fix them... glib/dbus-gvalue-utils.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit 4da76dd7d5845f05efd553037750ddeffd7d1962 Author: Robert McQueen Date: 2006-04-28 21:11:28 +0000 2005-04-28 Robert McQueen * glib/dbus-gproxy.c: Fix properties so that they can be given in any order, making it easier for people who inherit from this object. glib/dbus-gproxy.c | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) commit 08cd19641ff8c6fcb1f8e5821e6c9dc81f11cd6f Author: Robert McQueen Date: 2006-04-28 21:02:16 +0000 2005-04-28 Robert McQueen * glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking of memory from within pointer arrays and lists. Fixes bug #6300. glib/dbus-gvalue-utils.c | 62 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 6 deletions(-) commit 96fb792c6a5661afeef76ece3cd7defc9ffc8db8 Author: Robert McQueen Date: 2006-04-28 20:36:56 +0000 2005-04-28 Robert McQueen * glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in generating struct signatures. Fixes bug #6083. glib/dbus-gvalue.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 636fe6ed1b321cd05b72ca39d414ecd1c2cb4b4f Author: Havoc Pennington Date: 2006-02-26 01:06:33 +0000 2006-02-25 Havoc Pennington * glib/dbus-glib-tool.c (usage): fix up the usage message, someone should make this thing use the new glib options parser glib/dbus-glib-tool.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 844b4184483ac979eff27319f144e8f330858062 Author: Robert McQueen Date: 2006-02-16 00:43:41 +0000 2006-02-16 Robert McQueen * dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Patch from Rob Taylor to correct a bogus assertion that the next element to read from the iter is fixed in size. This is not the case when you are at the end of the iter, because the next element type is INVALID. * dbus/dbus-string.c (_dbus_string_init_const_len): Correct a a bogus assert which means that you may not initialise a 0-length string unless you provide a non-NULL pointer. This prevented you from marshalling messages containing zero-length arrays in some cases. * glib/dbus-gvalue.c (demarshal_collection_array): Another patch from Rob to correct bogus asserts when trying to demarshal an array and get_fixed_array got you 0 elements. Append nothing to the GArray in this case. * test/glib/test-dbus-glib.c: Add a test case for round-tripping an empty array via the glib bindings. Without all of the above patches, this new test fails. glib/dbus-gvalue.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 7b33862bac766c00c12f5cb400af06200ae004c4 Author: Robert McQueen Date: 2006-02-15 23:45:48 +0000 2006-02-16 Robert McQueen * glib/dbus-gmain.c: Make the previous commit compile. * python/_dbus.py, python/matchrules.py: Patch from Ole Andre Ravnaas to allow you to specify sender_keyword="foo", path_keyword="bar" when adding a signal listener, so that you can bind to signals generically but still do something useful in your callback. * python/dbus_bindings.pyx: Demarshal the byte type as unsigned chars so that they're not cast to chars and made negative. Thanks to Jakub Stachowski for reporting this and testing the fix. glib/dbus-gmain.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 8d98ce884210745d7070e4438167ece2be0e357b Author: John (J5) Palmieri Date: 2006-02-15 21:42:54 +0000 2006-02-15 John (J5) Palmieri * dbus/dbus-glib.h: * glib/dbus-gmain.h: (dbus_g_connection_open): new method for openning a connection to an arbitrary address in the glib bindings * ChangeLog: checkin last entry which doesn't seem to be commited glib/dbus-gmain.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) commit 6fd3dffe4561b37bc75c13f6296e91b65224ce4d Author: Robert McQueen Date: 2006-02-13 22:30:11 +0000 2006-02-13 Robert McQueen * glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c, glib/dbus-gsignature.c, glib/dbus-gtype-specialized.c, glib/dbus-gtype-specialized.h, glib/dbus-gvalue-utils.c, glib/dbus-gvalue-utils.h, glib/dbus-gvalue.c: Patch from Rob Taylor to add a big missing piece of the glib bindings jigsaw puzzle. This modifies the existing specialised types to have N type parameters (rather than the current 1 or 2 for arrays and dictionaries respectively). You can then use this to get a glib type to represent any arbitrary D-Bus struct type using dbus_g_type_get_struct. The only implementation of these types is with GValueArrays as before, but it's now possible to store these in arrays, emit them in signals, etc. glib/dbus-binding-tool-glib.c | 26 ++++ glib/dbus-gmain.c | 4 +- glib/dbus-gsignature.c | 25 +++- glib/dbus-gtype-specialized.c | 296 ++++++++++++++++++++++++++++++++++++++--- glib/dbus-gtype-specialized.h | 43 ++++++ glib/dbus-gvalue-utils.c | 184 +++++++++++++++++++++++++ glib/dbus-gvalue-utils.h | 2 +- glib/dbus-gvalue.c | 148 ++++++++++++++++++++- 8 files changed, 695 insertions(+), 33 deletions(-) commit eef27dfbd6dc73baa13c78220f98297881071368 Author: Robert McQueen Date: 2006-01-27 16:40:53 +0000 2006-01-27 Robert McQueen * glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's patch to use an annotation org.freedesktop.DBus.GLib.ClientCSymbol when generating the client-side methods, instead of overloading CSymbol which broke everything horribly. My apologies. glib/dbus-binding-tool-glib.c | 45 +++++++++++++++++------------------------ glib/dbus-binding-tool-glib.h | 1 + 2 files changed, 19 insertions(+), 27 deletions(-) commit 879e2b697e2a0fd439a38ea4d4422cd8c01fefb5 Author: Robert McQueen Date: 2006-01-27 15:40:36 +0000 2006-01-27 Robert McQueen * glib/dbus-gtype-specialized.[ch], glib/dbus-gvalue-utils.c: Patch by me and Rob Taylor to add a simple_free function to D-Bus map and collection types, which allows those types which can be freed with a GDestroyNotify (such as GHashTables and GArrays, but not GPtrArrays) to be stored as the values in hashtables. * test/glib/test-dbus-glib.c, test/glib/test-service-glib.{c,xml}: Patch by Rob Taylor to add nested dicts to the glib tests to check the above code works, and appears not to leak when called repeatedly. glib/dbus-gtype-specialized.c | 33 ++++++++++++++++++++++++++- glib/dbus-gtype-specialized.h | 4 +++- glib/dbus-gvalue-utils.c | 50 ++++++++++++++++++++++++++++++++++------- 3 files changed, 77 insertions(+), 10 deletions(-) commit f467138770f3b5b771e772e7f59780a502540cb6 Author: Robert McQueen Date: 2006-01-27 15:15:16 +0000 2006-01-27 Robert McQueen * glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor to free a D-Bus allocated string with dbus_free () instead of g_free (). glib/dbus-gvalue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0c87b127b878d41d8a134fd5dee5d41a2434ef41 Author: Robert McQueen Date: 2006-01-27 15:06:54 +0000 2006-01-27 Iain Holmes * glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose method from being called multiple times. glib/dbus-gproxy.c | 5 +++++ 1 file changed, 5 insertions(+) commit 5ad59f0f48a27d35d58e86c2cf2aa8c7d025248b Author: Robert McQueen Date: 2006-01-19 02:54:07 +0000 2006-01-19 Robert McQueen * glib/dbus-binding-tool-glib.c: Patch from Rob Taylor to add support for generating bindings to arrays that are represented as GPtrArrays rather than GArrays (ie size-variable things, such as strings, objects, structs, etc). glib/dbus-binding-tool-glib.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) commit 0dffd5ab28874cc6453e8907f1f4cb95785748cb Author: Robert McQueen Date: 2006-01-05 20:22:06 +0000 2006-01-05 Robert McQueen * dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki to make it possible to inherit from DBusGProxy, by splitting the DBusGProxy struct into a public part and a private part, and moving the setting of the DBusGProxyManager into a connection property, allowing proper GObject construction. glib/dbus-gproxy.c | 327 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 196 insertions(+), 131 deletions(-) commit b356f998530ffe9762b4b0f5fd7f236eceb044db Author: Robert McQueen Date: 2006-01-05 20:03:38 +0000 2006-01-05 Robert McQueen * glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki to make dbus-binding-tool heed C symbol name annotations when generating glib client bindings. glib/dbus-binding-tool-glib.c | 42 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) commit 8029bd07868baa11810b0b3ee56a8daefc0588da Author: John (J5) Palmieri Date: 2005-11-30 19:32:25 +0000 * dbus/dbus-auth.c, dbus/dbus-connection.c, dbus/dbus-keyring.c, dbus/dbus-server-debug-pipe.c, glib/dbus-binding-tool-glib.c glib/dbus-glib-tool.c, glib/dbus-gparser.c, glib/dbus-gproxy.c test/test-segfault.c, test/test-utils.c, test/glib/test-dbus-glib.c, tools/dbus-cleanup-sockets.c tools/dbus-launch.c, tools/dbus-tree-view.c, tools/dbus-viewer.c: Various cleanup of dead code and compiler warnings (patch from Kjartan Maraas ) glib/dbus-binding-tool-glib.c | 2 -- glib/dbus-glib-tool.c | 4 ---- glib/dbus-gparser.c | 11 ++--------- glib/dbus-gproxy.c | 2 -- 4 files changed, 2 insertions(+), 17 deletions(-) commit c5753442aaccba39a3e0948aa77e523eb3fe866b Author: John (J5) Palmieri Date: 2005-11-30 18:48:09 +0000 * glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak (patch from Carlos Garnacho Parro glib/dbus-gmain.c | 1 + 1 file changed, 1 insertion(+) commit 5d3c9bd0cd7e98df0be8351e3c210a38a978f52a Author: Robert McQueen Date: 2005-11-27 16:55:09 +0000 2005-11-27 Carlos Garcia Campos * glib/dbus-gobject.c: Append a GValue instead of a basic type in method return message for property getters glib/dbus-gobject.c | 41 +++++++++++++++++++++++++++++++---------- glib/dbus-gvalue.c | 8 ++++---- glib/dbus-gvalue.h | 1 + 3 files changed, 36 insertions(+), 14 deletions(-) commit 9f2aae9a744e45c0646b36396e846031ec4ffe7f Author: John (J5) Palmieri Date: 2005-11-22 20:37:00 +0000 * configure.in: Add test/name-test/Makefile to the generated Makefile list * dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT): New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT (#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying not to queue an ower if it can't be the primary owner * bus/bus.h: Add new internal BusOwner struct * bus/driver.c (bus_driver_handle_hello): Send flags (0 for default) to bus_registry_ensure and don't set the prohibit_replacement flag since they are now set per BusOwner and not per name. (bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners) that returns the list of connections in a name's connection queue * bus/services.c (struct BusService): remove prohibit_replacement field (struct BusOwner): new struct for keeping track of queued connections and their associated flags for the queue (struct BusRegistry): add a BusOwner memory pool (bus_registry_new): initialize the BusOwner memory pool (bus_registry_unref): free the BusOwner memory pool (_bus_service_find_owner_link): new internal method for searching the queue for a specific connection (bus_owner_set_flags): new method for adding setting the flags on a bus owner (bus_owner_new): new method that creates a BusOwner object from the pool and sets its flags (bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects (bus_registry_ensure): Add the flags parameter (bus_registry_acquire_service): Switch from using raw connections to using the BusOwner struct Add new state machine for dealing with the new set of flags (bus_registry_set_service_context_table, struct OwnershipCancelData, cancel_ownership, free_ownership_cancel_data, add_cancel_ownership_to_transaction, struct OwnershipRestoreData, restore_ownership, free_ownership_restore_data, add_restore_ownership_to_transaction): Switch to using BusOwner instead of raw connections (bus_service_add_owner): Add flags parameter Switch to using BusOwner instead of raw connections Add state machine for dealing with the new set of flags (bus_service_swap_owner): Swaps the first and second owners in the queue. Used to make sure proper signals are sent when a service looses or gains primary ownership. We never insert an owner at the top of the queue. Instead we insert it in the second position and then swap. (bus_service_remove_owner): Remove the owner from the queue sending out the NameLost and NameOwnerChanged signals if the we were the primary owner (bus_service_get_primary_owners_connection): New method that extracts the connection from the primary owner (bus_service_get_primary_owner): Returns the BusOwner instead of the connection (bus_service_get_allow_replacement): Changed from the old bus_service_get_prohibit_replacement method. Checks the flags of the primary owner and returns if it can be replaced or not (bus_service_set_prohibit_replacement): removed (bus_service_has_owner): returns TRUE if and owner with the specified connection exists in the queue * dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper method that only compiles if tests are enabled. Allows us to get the unique name of a connection so we can check it against the queue when doing regression tests * bus/activation.c (bus_activation_send_pending_auto_activate), bus/dispatch.c (bus_dispatch), bus/driver.c (bus_driver_handle_get_service_owner, bus_driver_handle_get_connection_unix_user, bus_driver_handle_get_connection_unix_process_id, bus_driver_handle_get_connection_selinux_security_context), bus/signals.c (connection_is_primary_owner): use bus_service_get_primary_owners_connection instead of bus_service_get_primary_owner * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket, _dbus_listen_unix_socket): Calculate the length of the socket path and use that instead of using a fixed length which was causing socket names to contain many trailing Nul bytes. * dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c (dbus_g_method_get_sender): New method for extracting the sender from a DBusGMethodInvocation (dbus_g_method_return_get_reply): changed name to dbus_g_method_get_reply (dbus_g_method_return_send_reply): changed name to dbus_g_method_send reply * doc/dbus-specification.xml: New docs that describe how the new queueing system works and talks about the changes to the how we specify socket names * glib/examples/example-service.c, glib/examples/example-signal-emitter.c, glib/examples/statemachine/statemachine-server.c: Changed the RequestName flags to the new system * test/name-test/ (test-names.c, run-test.sh, Makefile.am): New regression test suite for testing various states of the new queueing system glib/dbus-gobject.c | 28 +++++++++++++++++++--- glib/examples/example-service.c | 2 +- glib/examples/example-signal-emitter.c | 2 +- glib/examples/statemachine/statemachine-server.c | 2 +- 4 files changed, 28 insertions(+), 6 deletions(-) commit 57b6ef4e8648c0c7f9b059690c4a35e73932669f Author: Robert McQueen Date: 2005-11-15 19:34:32 +0000 2005-11-15 Robert McQueen * dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob Taylor to add two methods, dbus_g_method_return_get_reply and dbus_g_method_return_send_reply, to allow you to get the reply message from a DBusGMethodInvocation, append arbitrary stuff to it, and send it. The GLib bindings can't marshal a return value of something like a(s) if the array is empty - ultimately they should be made to heed the signature of the out arguments as the Python bindings now can, but this is a workable interim solution which might have other applications. glib/dbus-gobject.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) commit cf87837198ac181b16965dcc8fb3f65bc2efa8bd Author: Robert McQueen Date: 2005-10-29 17:02:58 +0000 2005-10-29 Robert McQueen * glib/Makefile.am, glib/examples/Makefile.am, glib/examples/statemachine/Makefile.am: Merge patch from Ubuntu by Daniel Stone to replace explicit calls to libtool with $(LIBTOOL). * test/python/.cvsignore: Add run-with-tmp-session-bus.conf. * tools/dbus-monitor.1, tools/dbus-monitor.c: Merge dbus-monitor patch from Ubuntu by Daniel Silverstone to allow specifying match rules on the command line. glib/Makefile.am | 2 +- glib/examples/Makefile.am | 4 ++-- glib/examples/statemachine/Makefile.am | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) commit 3a8319b792df4ce260f8cf1e0f95fadd76942d75 Author: Ross Burton Date: 2005-10-27 16:35:43 +0000 Cleanups glib/dbus-gobject.c | 1 + 1 file changed, 1 insertion(+) commit 29f0ea31b256784b4e75cdedcb822f30fe804dd3 Author: Ross Burton Date: 2005-10-25 15:57:13 +0000 Add const keywords glib/dbus-gmain.c | 2 +- glib/dbus-gobject.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit f4b2bdf28c5e589d9161e27bf89e636c8226169f Author: Ross Burton Date: 2005-10-25 08:54:57 +0000 Add a NoReply annotation glib/dbus-binding-tool-glib.c | 53 ++++++++++++++++++++++++++++------------- glib/dbus-binding-tool-glib.h | 3 ++- 2 files changed, 39 insertions(+), 17 deletions(-) commit adc1cd1de84b057cc858b1226522d2fde96871a0 Author: John (J5) Palmieri Date: 2005-10-18 04:38:04 +0000 * glib/dbus-gvalue-utils.c (hash_free_from_gtype): handle gdouble and G_TYPE_VALUE_ARRAY (DBUS_TYPE_STRUCT) (gvalue_from_hash_value, hash_value_from_gvalue): handle gdouble * glib/dbus-gvalue.c (dbus_gvalue_to_signature): add missing DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR charaters when constructing struct signatures * python/_dbus.py (Bus): handle private connections using the private keyword in the constructor. defaults to private=False (Bus::close): new method to close a connection to the bus * python/dbus_bindings.pyx (Connection::close): renamed method was previously called disconnect (bus_get): now supports getting a private connection * python/proxies.py (ProxyMethod::__call__): check if ignore_reply keyword is set to True. if it is, execute the method without waiting for a reply (ProxyObject::_introspect_execute_queue): new method for executing all the pending methods that were waiting for the introspect to finish. this is called when introspect either succeeds or fails (ProxyObject::_introspect_error_handler): call queued methods glib/dbus-gvalue-utils.c | 17 +++++++++++++++++ glib/dbus-gvalue.c | 4 +++- 2 files changed, 20 insertions(+), 1 deletion(-) commit 8c16af02c159982b451289945835a86ff56805c2 Author: John (J5) Palmieri Date: 2005-10-05 20:43:46 +0000 * glib/dbus-gvalue.c (marshal_variant): call _dbus_gvalue_marshal 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 ) (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 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. glib/dbus-gvalue.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b489f57506320ba3e29088dc612e27112c6a1854 Author: John (J5) Palmieri Date: 2005-09-26 22:26:38 +0000 * glib/dbus-glib-tool.c: removed extra comma at the end of the DBusBindingOutputMode enum which was causing a warning. #include so using time_t is explicitly defined glib/dbus-glib-tool.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit a32ca0058020e7e23d72d9ad69fe881ba8b98e93 Author: John (J5) Palmieri Date: 2005-09-06 22:38:54 +0000 * Released 0.50 * Patch from Steve Grubb: - bus/activation.c (bus_activation_service_reload_test): clean up some indentation - dbus/dbus-keyring.c (_dbus_keyring_reload): fix conditional - dbus/dbus-message-factory.c (generate_special): fix a couple of buffer overflows in the test suite. This is non critical because it can not be exploited and this code is only run when doing a make check. * Patch from Yaakov Selkowitz: Build fixes for Cygwin - configure.in: Don't check and link against kdecore, only qt headers - dbus/Makefile.am: Add -no-undefined to libdbus_1_la_LDFLAGS - gcj/org/freedesktop/dbus/Makefile.am: add libdbus_gcj_1_la_LDFLAGS = -no-undefined - glib/Makefile.am: Add -no-undefined to libdbus_glib_1_la_LDFLAGS and $(DBUS_GLIB_LIBS) to dbus_binding_tool_LDADD - qt/Makefile.am: Add -no-undefined to libdbus_qt_1_la_LDFLAGS - tools/Makefile.am: Add platform extentions to binaries (i.e. .exe on windows) * configure.in: - Make it so if no suitable version of python is found we only disable building python instead of exiting the configure script - Require version 2.4 of glib for glib bindings - Up version to 0.50 * python/__init__.py: Sync version with libdbus to (0,50,0) glib/Makefile.am | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 23fb630c1e907187c8d7aa5539b30a34e7cc9632 Author: Colin Walters Date: 2005-08-26 02:00:37 +0000 2005-08-25 Colin Walters * glib/dbus-gproxy.c (dbus_g_proxy_call): Doc update, thanks to Ryan Lortie for the suggestion. glib/dbus-gproxy.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 8e13d06500c5b4df219891fc4b5b8242cb9f5cae Author: Ross Burton Date: 2005-08-17 17:30:45 +0000 Unref message and protect against NULL glib/dbus-gproxy.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 03dc49be2e41245f107e71194ebef428d4d4ccf7 Author: Colin Walters Date: 2005-08-16 21:26:12 +0000 2005-08-16 Colin Walters * glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the DBusError message is NULL. glib/dbus-gobject.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 20ab99c264aa730de304f637a7e4eacec3e1686d Author: Colin Walters Date: 2005-08-04 15:49:30 +0000 2005-08-04 Colin Walters * glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init) (dbus_g_type_is_fixed, dbus_g_type_fixed_get_size) (dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach) (dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values) (dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value) (dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype) (dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take): * glib/dbus-gvalue.h (dbus_g_value_types_init) (dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant) (dbus_gvalue_demarshal_message, dbus_gvalue_marshal): Prefix name with _ to ensure they're not exported. All callers updated. * glib/dbus-gvalue.c (typecode_to_gtype) (dbus_typecode_maps_to_basic, basic_typecode_to_gtype) (signature_iter_to_g_type_dict) (signature_iter_to_g_type_array) (dbus_gtype_from_signature_iter, dbus_gtype_from_signature) (dbus_gtypes_from_arg_signature): Move to dbus-gsignature.c. * glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init. (dbus_binding_tool_output_glib_client): Ditto. * glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c and dbus-gsignature.h * test/glib/test-service-glib.c (my_object_rec_arrays): Delete unused variable. glib/Makefile.am | 5 +- glib/dbus-binding-tool-glib.c | 36 ++++--- glib/dbus-gmain.c | 23 ++-- glib/dbus-gobject.c | 35 +++--- glib/dbus-gproxy.c | 13 +-- glib/dbus-gsignature.c | 189 ++++++++++++++++++++++++++++++++ glib/dbus-gsignature.h | 19 ++++ glib/dbus-gvalue-utils.c | 46 ++++---- glib/dbus-gvalue-utils.h | 28 ++--- glib/dbus-gvalue.c | 237 +++++++---------------------------------- glib/dbus-gvalue.h | 21 ++-- 11 files changed, 350 insertions(+), 302 deletions(-) commit f19bb3b8b599f006e51a1ff81447ac6470c249fc Author: Colin Walters Date: 2005-08-03 23:21:49 +0000 2005-08-03 Colin Walters * glib/dbus-gobject.c: Add tests on hardcoded object info; this should catch any incompatible changes accidentally made. glib/dbus-gobject.c | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) commit f902eead6b209181f7a26b4cb1a967661ac86117 Author: Colin Walters Date: 2005-08-01 16:12:53 +0000 2005-08-01 Colin Walters Patch from Joe Markus Clarke: * glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix use-after-free. glib/dbus-gidl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit db1be2d67b4239496940080f44c7e05eed42a610 Author: Colin Walters Date: 2005-08-01 16:07:19 +0000 2005-08-01 Colin Walters Patch from Joe Markus Clarke: * glib/dbus-gvalue.c (dbus_g_value_types_init): * glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init) * glib/dbus-gobject.c (write_interface): Don't use C99 style initializers (bug #3933). glib/dbus-gobject.c | 2 +- glib/dbus-gvalue-utils.c | 7 +++---- glib/dbus-gvalue.c | 8 ++++---- 3 files changed, 8 insertions(+), 9 deletions(-) commit 04045b587a62e4b5cafbad0b81e18761c28a41e5 Author: Havoc Pennington Date: 2005-07-31 02:09:15 +0000 2005-07-30 Havoc Pennington * fix a bunch of Doxygen warnings and mistakes glib/dbus-glib.c | 4 ++-- glib/dbus-gobject.c | 2 +- glib/dbus-gproxy.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) commit f91e8613d913ee943afa5bbb6cdafb2ce062c6ef Author: Ross Burton Date: 2005-07-25 19:16:22 +0000 Remove matchers when all proxies are removed glib/dbus-gproxy.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 2c755e157a9b41451efd5fd88e74c37501e21127 Author: Colin Walters Date: 2005-07-24 18:04:23 +0000 2005-07-24 Colin Walters * glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require typedata; recursive arrays won't have it. * test/glib/test-dbus-glib.c: * test/glib/test-service-glib.c: * test/glib/test-service-glib.xml: Add recursive arrays tests. glib/dbus-gvalue.c | 5 ----- 1 file changed, 5 deletions(-) commit 6bf40ec5a63f7703070f951130d8e78cb044ec66 Author: John (J5) Palmieri Date: 2005-07-15 20:28:05 +0000 * glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST so distcheck doesn't fail * glib/examples/Makefile.am: Add example-service.xml and example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail * glib/examples/statemachine/Makefile.am: Add statemachine.xml and statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail * python/Makefile.am: Preprend $(srcdir)/ to source files so the compiler looks in the right places during distcheck glib/Makefile.am | 2 +- glib/examples/Makefile.am | 2 ++ glib/examples/statemachine/Makefile.am | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) commit a447f257bd0b557b661be74f2d63ba0d31366a46 Author: John (J5) Palmieri Date: 2005-07-15 19:15:05 +0000 * glib/example/Makefile.am: Fix a typo which cause make distcheck to fail glib/examples/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ce277d89860aaf05064d11eb24878cbf41326ff2 Author: Ross Burton Date: 2005-07-15 13:25:48 +0000 Don't leak messages when calling methods glib/dbus-gproxy.c | 1 + 1 file changed, 1 insertion(+) commit 877add82e329e1de4ab7b4d99084362e250fa34c Author: Colin Walters Date: 2005-07-12 17:57:04 +0000 2005-07-12 Colin Walters * glib/examples/statemachine/Makefile.am (statemachine-server-glue.h) (statemachine-glue.h): * glib/examples/Makefile.am (example-service-glue.h) (example-signal-emitter-glue.h): * glib/Makefile.am (dbus-glib-error-switch.h): Add libtool --mode=execute so we use the built library instead of any installed one. glib/Makefile.am | 2 +- glib/examples/Makefile.am | 4 ++-- glib/examples/statemachine/Makefile.am | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) commit 31ca9e74c599c17f802698ad8184f9ae654983c5 Author: Colin Walters Date: 2005-07-11 16:12:49 +0000 2005-07-11 Colin Walters * glib/dbus-gvalue.c (struct _DBusGValue): Delete. (dbus_g_value_types_init): Remove assertion. (dbus_g_value_get_g_type, dbus_g_value_open) (dbus_g_value_iterator_get_values, dbus_g_value_get_signature) (dbus_g_value_copy, dbus_g_value_free): Delete unimplemented functions related to DBusGValue. Now we marshal/demarshal structures as GValueArray. (dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for structures. (signature_iter_to_g_type_array): Don't call signature_iter_to_g_type_struct. (signature_iter_to_g_type_struct): Delete. (dbus_gvalue_to_signature): Delete. (dbus_gvalue_to_signature): New function with same name as other one; we can convert structures to signatures. (demarshal_valuearray): New function. (get_type_demarshaller): Use it. (demarshal_recurse): Delete. (marshal_proxy): New function. (marshal_map): Warn if we can't determine signature from type. (marshal_collection_ptrarray): Ditto. (marshal_collection_array): Ditto. (get_type_marshaller): Use marshal_valuearray. (marshal_recurse): Delete. (_dbus_gvalue_test): Add some tests. * dbus/dbus-glib.h (struct _DBusGValueIterator): (dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE) (dbus_g_value_open, dbus_g_value_iterator_get_value) (dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse) (dbus_g_value_free): Remove prototypes. * glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle G_TYPE_VALUE_ARRAY. * glib/examples/example-service.c: * glib/examples/example-client.c: Implement GetTuple. * test/glib/test-dbus-glib.c: * test/glib/test-service-glib.c: * test/glib/test-service-glib.xml: Add structure tests. glib/dbus-binding-tool-glib.c | 1 + glib/dbus-gvalue.c | 358 ++++++++++++++++++--------------------- glib/examples/example-client.c | 32 +++- glib/examples/example-service.c | 21 ++- 4 files changed, 209 insertions(+), 203 deletions(-) commit 5c39fa43d8eb87284abe7d009349523ad5398db0 Author: Colin Walters Date: 2005-07-10 22:54:18 +0000 2005-07-10 Colin Walters * doc/TODO: Knock off some GLib items with this patch. * glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error) (_dbus_gvalue_signals_error): New functions. * glib/dbus-gvalue-utils.h: Prototype them. * glib/dbus-gobject.c (arg_iterate): Update to handle return vals and change to not output const/retval flags for input args. All callers updated. (invoke_object_method): Refactor to handle return values. Add some more comments in various places. Remove debug g_print. * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New. * glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name): Handle G_TYPE_NONE. (compute_gsignature): New function; refactored from code from compute_marshaller and compute_marshaller_name. Enhance to handle return values and async ops more cleanly. Update for async ops returning NONE instead of BOOLEAN. (compute_marshaller, compute_marshaller_name): Call compute_gsignature and output appropriate string. (generate_glue): Handle return value annotation. Also don't dump constness flag for input arguments. * glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains files shared between installed library and utilities. (libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS. (libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the binding tool can access gtype utility functions. * test/glib/test-service-glib.c: * test/glib/test-service-glib.xml: * test/glib/test-dbus-glib.c: Add some tests for return values. glib/Makefile.am | 19 +- glib/dbus-binding-tool-glib.c | 324 ++++++++++++++++++++++----------- glib/dbus-binding-tool-glib.h | 1 + glib/dbus-gobject.c | 242 ++++++++++++++++++------ glib/dbus-gvalue-utils.c | 54 ++++++ glib/dbus-gvalue-utils.h | 4 + glib/examples/statemachine/.cvsignore | 1 + 7 files changed, 479 insertions(+), 166 deletions(-) commit 00de44640de45aa6068ca9d1b42deb801b430320 Author: Colin Walters Date: 2005-07-09 18:54:45 +0000 2005-07-09 Colin Walters * glib/dbus-gparser.c (parse_annotation): Add annotations to argument if available, not method. * glib/dbus-gobject.c (arg_iterate): More verbose warnings. (invoke_object_method): First, remove some redundant GValues (object_value, error_value) in favor of working on array directly. Second, rework constness to be less buggy. Now we iterate directly over the argument metadata instead of parallel iterating over output signature and metadata. * glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error. * glib/dbus-binding-tool-glib.c (generate_glue): Barf on const annotation on input args. glib/dbus-binding-tool-glib.c | 17 +++++++++++-- glib/dbus-glib-tool.h | 3 ++- glib/dbus-gobject.c | 54 ++++++++++++++++++++++++----------------- glib/dbus-gparser.c | 7 +++--- 4 files changed, 52 insertions(+), 29 deletions(-) commit 91dc6d18c4ccc69fef3c12e6f628f7458c1d4511 Author: Colin Walters Date: 2005-07-09 17:52:51 +0000 2005-07-09 Colin Walters * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST): Define. * glib/dbus-binding-tool-glib.c (generate_glue): Handle Const annotation. * glib/dbus-gobject.c (arg_iterate): Update to parse constval too. (method_dir_signature_from_object_info): Handle arg_iterate change. (write_interface): Ditto. (lookup_object_info): Don't barf if format_version is > 0. (invoke_object_method): Handle arg constness. * glib/dbus-gidl.c (struct ArgInfo): Add annotations. (arg_info_new): Create. (arg_info_unref): Destroy. (arg_info_get_annotations, arg_info_get_annotation) (arg_info_add_annotation): New functions. * glib/dbus-gidl.h: Prototype them. * glib/dbus-gparser.c (parse_annotation): Allow annotations in args, disallow them in properties. (parse_annotation): Handle arg annotations. * test/glib/test-service-glib.xml: * test/glib/test-service-glib.c: Update to make some methods const. glib/dbus-binding-tool-glib.c | 6 ++++++ glib/dbus-binding-tool-glib.h | 1 + glib/dbus-gidl.c | 30 ++++++++++++++++++++++++++ glib/dbus-gidl.h | 7 ++++++ glib/dbus-gobject.c | 48 +++++++++++++++++++++++++++++++++++------ glib/dbus-gparser.c | 5 ++++- 6 files changed, 89 insertions(+), 8 deletions(-) commit 52438e8f3f67fa96ffd9607bad34968875d90226 Author: Colin Walters Date: 2005-07-09 01:46:51 +0000 2005-07-08 Colin Walters * test/glib/test-service-glib.xml: * test/glib/test-service-glib.c: * test/glib/test-dbus-glib.c: Test a{sv}. * glib/examples/statemachine/statemachine.c: * glib/examples/statemachine/statemachine-server.c: * glib/examples/statemachine/statemachine-client.c: Fix some bugs, add progress bar, etc. * glib/dbus-gvalue.c (register_array, register_dict): Delete; not needed anymore due to generic array/map marshalling. (dbus_g_value_types_init): Don't register basic arrays or the string/string hash. (dbus_gtype_from_signature_iter): Don't try to recurse into variants. (dbus_gtype_to_signature): Check collection/map before type metadata. (demarshal_garray_basic): Renamed to demarshal_collection_array. (demarshal_ghashtable): Renamed to demarshal_map; fix to use new generic map creation/append functions instead of hash table specifically. (get_type_demarshaller): Handle maps. (demarshal_collection): Dispatch on collection type to either demarshal_collection_ptrarray or demarshal_collection_array. (get_type_marshaller): Handle maps. (marshal_collection): Dispatch collection type to either marshal_collection_ptrarray or marshal_collection_array. (_dbus_gvalue_test): New test. * glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function. (hash_free_from_gtype): Use it to free GValues. (hashtable_append): New function. (ptrarray_append): Fix prototype. (slist_append): Ditto. (_dbus_gvalue_utils_test): Extend tests. * glib/dbus-gtype-specialized.c (dbus_g_type_specialized_init_append): Renamed from dbus_g_type_specialized_collection_init_append. Remove const from value, since we steal it. (dbus_g_type_specialized_map_append): New function. * glib/dbus-gtype-specialized.h: Update prototypes. Add DBusGTypeSpecializedMapAppendFunc. * glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run _dbus_gvalue_test. * glib/dbus-gtest.h: Prototype it. glib/dbus-gtest.c | 4 + glib/dbus-gtest.h | 1 + glib/dbus-gtype-specialized.c | 13 +- glib/dbus-gtype-specialized.h | 15 +- glib/dbus-gvalue-utils.c | 116 ++++++- glib/dbus-gvalue.c | 402 +++++++++++----------- glib/examples/statemachine/statemachine-client.c | 192 +++++++++-- glib/examples/statemachine/statemachine-server.c | 27 ++ glib/examples/statemachine/statemachine.c | 44 +-- 9 files changed, 555 insertions(+), 259 deletions(-) commit 6758d07f4dd3bee533488381c8cf236d9d99a5f0 Author: Ross Burton Date: 2005-07-08 17:02:42 +0000 Make async bindings work again glib/dbus-binding-tool-glib.c | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) commit 8068477b92f2ee5ca19623e033e335d4b16d8de5 Author: Colin Walters Date: 2005-07-08 16:25:28 +0000 2005-07-08 Colin Walters * tools/Makefile.am: Kill of print-introspect in favor of using dbus-send --print-reply=literal. * tools/print-introspect.c: Deleted. * test/glib/test-service-glib.xml: * test/glib/test-service-glib.c (my_object_get_objs): New test for "ao". * test/glib/test-dbus-glib.c (echo_received_cb): Free echo data. (main): Test GetObjs. * glib/examples/statemachine/Makefile.am: * glib/examples/statemachine/sm-marshal.list: * glib/examples/statemachine/statemachine-client.c: * glib/examples/statemachine/statemachine-server.c: * glib/examples/statemachine/statemachine-server.xml: * glib/examples/statemachine/statemachine.c: * glib/examples/statemachine/statemachine.h: * glib/examples/statemachine/statemachine.xml: New example. * glib/examples/example-service.c (main): Move invocation of dbus_g_object_type_install_info earlier, to emphasize it should only be done once. * glib/examples/example-signal-emitter.c (main): Ditto. * glib/examples/Makefile.am (SUBDIRS): Include statemachine. * glib/dbus-gvalue.h (dbus_gtype_to_signature) (dbus_gvalue_marshal): Update prototypes. * glib/dbus-gvalue.c: Update all marshalling functions to take const GValue instead of GValue. (signature_iter_to_g_type_array): Return a GPtrArray for nonfixed types. (dbus_gvalue_to_signature): Update for dbus_gtype_to_signature change. (dbus_gtype_to_signature): Handle generic collecitons and maps. Return a newly-allocated string. (demarshal_proxy, demarshal_object_path, demarshal_object) (demarshal_strv, demarshal_ghashtable): Set error, don't assert if we get the wrong types from message. (get_type_demarshaller): New function, extracted from dbus_gvalue_demarshal. (demarshal_collection): New function, demarshals generic collection. (dbus_gvalue_demarshal): Just invoke result of get_type_demarshaller. Throw error if we don't have one. (marshal_garray_basic): Abort on OOM. (get_type_marshaller): New function, extracted from dbus_gvalue_marshal. (collection_marshal_iterator, marshal_collection): New functions; implements generic marshalling for an iteratable specialized collection. (dbus_gvalue_marshal): Just invoke result of get_type_marshaller. * glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle G_TYPE_STRING. (ptrarray_value_from_gvalue): Ditto. (ptrarray_append, ptrarray_free): New functions. (slist_constructor, slist_iterator, slist_copy_elt, slist_copy) (slist_append, slist_end_append, slist_free): New functions. (dbus_g_type_specialized_builtins_init): Add append fuctions for GPtrArray and GSList. Register GSList. (test_specialized_hash, _dbus_gvalue_utils_test): New functions. * glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext): New. (dbus_g_type_specialized_collection_init_append) (dbus_g_type_specialized_collection_append) (dbus_g_type_specialized_collection_end_append): Prototype. (DBusGTypeSpecializedCollectionVtable): Add append_func and end_append_func. * glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append) (dbus_g_type_specialized_collection_append) (dbus_g_type_specialized_collection_end_append): New functions. (dbus_g_type_map_value_iterate): Take const GValue. (dbus_g_type_collection_value_iterate): Ditto. * glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run _dbus_gvalue_utils_test. * glib/dbus-gtest.h: Prototype it. * glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid using uninitialized owner_list. (dbus_g_proxy_begin_call_internal): Move return_if_fail to public API. (dbus_g_proxy_end_call_internal): Update to use error set from dbus_gvalue_demarshal instead of setting it here. (dbus_g_proxy_begin_call): Move return_if_fail here. * glib/dbus-gobject.c (write_interface): Update for dbus_gtype_to_signature returning new string. * configure.in: Add glib/examples/statemachine. glib/dbus-gobject.c | 6 +- glib/dbus-gproxy.c | 31 +- glib/dbus-gtest.c | 7 + glib/dbus-gtest.h | 1 + glib/dbus-gtype-specialized.c | 44 +- glib/dbus-gtype-specialized.h | 32 +- glib/dbus-gvalue-utils.c | 261 +++++++++- glib/dbus-gvalue-utils.h | 1 - glib/dbus-gvalue.c | 388 +++++++++++--- glib/dbus-gvalue.h | 4 +- glib/examples/Makefile.am | 2 + glib/examples/example-service.c | 4 +- glib/examples/example-signal-emitter.c | 4 +- glib/examples/statemachine/.cvsignore | 15 + glib/examples/statemachine/Makefile.am | 35 ++ glib/examples/statemachine/sm-marshal.list | 1 + glib/examples/statemachine/statemachine-client.c | 540 ++++++++++++++++++++ glib/examples/statemachine/statemachine-server.c | 202 ++++++++ glib/examples/statemachine/statemachine-server.h | 37 ++ glib/examples/statemachine/statemachine-server.xml | 14 + glib/examples/statemachine/statemachine.c | 351 +++++++++++++ glib/examples/statemachine/statemachine.h | 77 +++ glib/examples/statemachine/statemachine.xml | 33 ++ 23 files changed, 1983 insertions(+), 107 deletions(-) commit 8b39e9d32cb505d4f9550ca24627020e5edd9681 Author: Colin Walters Date: 2005-07-06 21:27:45 +0000 2005-07-06 Colin Walters * dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify) (DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type) (dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete. (dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete in favor of dbus_g_proxy_begin_call and dbus_g_proxy_cancel_call. (DBusGProxyCall, DBusGProxyCallNotify): New. (dbus_g_proxy_begin_call): Change prototype to take callback, user data, and destroy function. This replaces dbus_g_pending_call_set_notify. (dbus_g_proxy_cancel_call): Prototype. (DBusGAsyncData): Delete, shouldn't be needed anymore. * glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and pending_calls map. (struct _DBusGProxyManager): Add bus_proxy member, which is an internal proxy for calls to the bus. Remove pending_nameowner_calls, now the internal proxy keeps track. (dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to pending_nameowner_calls. (got_name_owner_cb): Update prototype, and use dbus_g_proxy_end_call. (got_name_owner_cb): Remove reference to pending_nameowner_calls. (dbus_g_proxy_manager_register): Delete directly libdbus code in favor of using internal proxy. (dbus_g_proxy_manager_unregister): Update to use dbus_g_proxy_cancel_call for any pending GetNameOwner call. (dbus_g_proxy_init): Initialize pending calls map. (dbus_g_proxy_constructor): New. (dbus_g_proxy_class_init): Add get/set property functions, constructor, and add NAME, PATH, and INTERFACE properties. (cancel_pending_call): New function. (dbus_g_proxy_dispose): Iterate over any outstanding calls and cancel them. (dbus_g_proxy_set_property, dbus_g_proxy_get_property): New. (GPendingNotifyClosure): New structure. (d_pending_call_notify, d_pending_call_free): Moved here from dbus-glib.c. (DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function ordering. (manager_begin_bus_call): New internal function for talking to internal bus proxy. (dbus_g_proxy_new): Construct object using GObjet properties. (dbus_g_proxy_begin_call_internal): Update to take user data, etc. Create closure of same, and insert call into map of pending calls. (dbus_g_proxy_end_call_internal): Take call id instead of pending call. Look up pending call in current set. Remove it when we've completed. (dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete. (dbus_g_proxy_begin_call): Change API to take callback, user data, and destroy function directly. (dbus_g_proxy_end_call): Update to take DBusGProxyCall. (dbus_g_proxy_call): Invoke with NULL callback. (dbus_g_proxy_cancel_call): New function, replaces dbus_g_pending_call_cancel. * glib/dbus-gparser.c (validate_signature): Fix call to dbus_set_g_error. * glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark): New quark for attaching metadata to GType. (info_hash): Delete. (lookup_object_info): Look up using quark. (dbus_g_object_type_install_info): Check that a type is classed, not that it's an object. Also just install type data using quark instead of using global hash. * glib/dbus-glib.c (dbus_g_pending_call_ref) (dbus_g_pending_call_unref, dbus_pending_call_get_g_type) (GPendingNotifyClosure): Delete. (d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c. (dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete. * glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async client method generation until we can fix it... * tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call. (load_from_service_thread_func): Ditto. * tools/dbus-names-model.c (struct NamesModel): Hold DBusGProxyCall. (have_names_notify): Update prototype, use dbus_g_proxy_cancel_call. (names_model_reload): Update for new dbus_g_proxy_begin_call API. * tools/dbus-monitor.c (filter_func): Update for print_message API change. * test/glib/test-dbus-glib.c: Add more tests for async invocations. Update many begin_call/end_call pairs to just use dbus_g_proxy_call. * tools/dbus-send.c (main): Add --print-reply=literal mode. This allows us to dump print-introspect.c. * tools/dbus-print-message.h (print_message): Add literal argument to print_message which is intended to allow printing arguments without metadata like "string=". * tools/dbus-print-message.c (print_iter): Add literal argument. (print_message): Allow printing string messages literally. glib/dbus-binding-tool-glib.c | 2 + glib/dbus-glib.c | 140 ----------- glib/dbus-gobject.c | 44 ++-- glib/dbus-gparser.c | 2 +- glib/dbus-gproxy.c | 555 +++++++++++++++++++++++++++-------------- 5 files changed, 390 insertions(+), 353 deletions(-) commit 462a36e4898da053ba749857511f2d634dbea665 Author: Colin Walters Date: 2005-07-05 16:39:56 +0000 2005-07-05 Colin Walters * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller): Remove value refcount leak, original patch from Jorn Baayen . Also remove useless extra value in favor of prepending to value array directly. glib/dbus-gproxy.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit d80b7960d7d189d7c33e6d230fdbbf8b69546f60 Author: Colin Walters Date: 2005-07-02 06:05:23 +0000 2005-07-02 Colin Walters * glib/dbus-gmain.c (_dbus_gmain_test): Fix test. glib/dbus-gmain.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit c7f14e3c337601053b08dc07a186be81063fc005 Author: Colin Walters Date: 2005-07-01 15:44:12 +0000 2005-07-01 Colin Walters Patch from Jonathan Matthew * glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type. (dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE, G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32, and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE. glib/dbus-gvalue.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) commit 5c82c5ce0eba4ec3bbb0454f3987f56de968bf95 Author: Colin Walters Date: 2005-06-30 18:22:09 +0000 2005-06-30 Colin Walters * test/glib/test-dbus-glib.c: * test/glib/test-service-glib.c: * test/glib/test-service-glib.xml: Update tests for new error setting bits, also add async tests (patch from Ross Burton). * test/glib/Makefile.am (test_service_glib_LDADD): Add DBUS_GLIB_THREADS_LIBS. * glib/dbus-gproxy.c (get_name_owner) (dbus_g_pending_call_end_valist): Ditto. * glib/dbus-gobject.c (error_metadata): New mapping from GError domain (GQuark) to DBusGErrorInfo. (gerror_domaincode_to_dbus_error_name): Attempt to look up error quark in error_metadata. Take message interface as default error message interface. (gerror_to_dbus_error_message): Pass message interface. (dbus_set_g_error): Resurrected. (dbus_g_error_info_free): New function. (dbus_g_object_type_install_info): Use g_type_class_ref instead of _peek to actually create the object class if it hasn't been created yet. (dbus_g_error_domain_register): New function. * glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error. * glib/dbus-gparser.c (validate_signature): Ditto. * dbus/dbus-glib.h (dbus_g_error_set): Delete. (dbus_g_error_domain_register): Prototype. * glib/dbus-glib.c (dbus_g_error_set): Delete. Update tests. glib/dbus-glib.c | 45 +----------------- glib/dbus-gmain.c | 3 +- glib/dbus-gobject.c | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++- glib/dbus-gparser.c | 3 +- glib/dbus-gproxy.c | 6 +-- 5 files changed, 134 insertions(+), 50 deletions(-) commit f879e3e832d76a7b3b02cc7d25a3e5b9ef195f42 Author: Colin Walters Date: 2005-06-29 23:52:35 +0000 2005-06-29 Colin Walters * dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY. Add DBUS_TYPE_G_OBJECT_PATH. * glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should be handled more generically). Add DBUS_TYPE_G_OBJECT_PATH. (dbus_g_object_path_get_g_type): New function. (dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH to DBUS_TYPE_G_OBJECT_PATH by default. (demarshal_proxy): Remove unused name variable. (demarshal_object_path, marshal_object_path): New functions. (demarshal_proxy_array, marshal_proxy_array): Delete. * glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map DBUS_TYPE_G_OBJECT_PATH to char *. (dbus_g_type_get_lookup_function): Map builtin DBUS_TYPE_G_OBJECT_PATH. * test/glib/test-dbus-glib.c * test/glib/test-service-glib.c (my_object_objpath): Adapt tests to new object path marshalling. glib/dbus-binding-tool-glib.c | 5 +- glib/dbus-gvalue.c | 164 ++++++++++++++++------------------------- 2 files changed, 68 insertions(+), 101 deletions(-) commit 1f87d5d3363d1e23208c993eabb3cb1f0341b4d9 Author: Colin Walters Date: 2005-06-29 17:02:33 +0000 2005-06-29 Colin Walters Patch from Ross Burton * glib/dbus-gobject.c (invoke_object_method): Unset object value in all cases, not only in async case. glib/dbus-gobject.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 49fce903db4124277de6aba92f7c03f24d84e598 Author: Colin Walters Date: 2005-06-29 16:58:59 +0000 2005-06-29 Colin Walters * glib/dbus-gproxy.c (struct _DBusGProxy): Add new member name_call for keeping track of any outgoing GetNameOwner call. Also add for_owner and associated. (struct _DBusGProxyManager): Add owner_names, which is hash table that maps a base name to a list of names it owns (that we're interested in). Add pending_nameowner_calls which is a list of all outstanding GetNameOwner; avoids us having to iterate over every proxy. Add unassociated_proxies which keeps track of name proxies with no associated name owner. (dbus_g_proxy_manager_unref): Destroy owner_names. (struct DBusGProxyNameOwnerInfo): New struct for keeping track of name refcounts. (find_name_in_info, name_owner_foreach) (dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo) (dbus_g_proxy_manager_monitor_name_owner) (dbus_g_proxy_manager_unmonitor_name_owner) (unassociate_proxies, dbus_g_proxy_manager_replace_name_owner): New functions; they manipulate the owner_names mapping. (got_name_owner_cb): New function. (get_name_owner): New function, extracted from dbus_g_proxy_new_for_name_owner. (dbus_g_proxy_manager_register): For now we need to keep track of all NameOwnerChanged. Also if the proxy is for a name, if we don't already know the name owner, queue a new GetNameOwner request and add it to our list of unassociated proxies. Otherwise inc the refcount. (dbus_g_proxy_manager_unregister): If this proxy is for a name, cancel any pending GetNameOwner call, etc. (dbus_g_proxy_manager_filter): Handle NameOwnerChanged. Also use the owner_names mapping to look up the current names for the signal source, and dispatch to any proxies for that name. (dbus_g_proxy_new): Initialize new members. (dbus_g_proxy_new_for_name): Delete unused proxy variable. (dbus_g_proxy_new_for_name_owner): Use get_name_owner. (dbus_g_pending_call_end_valist): New function, extracted from dbus_g_proxy_end_call_internal. Useful when we don't have a proxy but want to use the GLib infrastructure. Also note how many arguments in reply were over. (dbus_g_pending_call_end): New function, just call dbus_g_pending_call_end_valist. (dbus_g_proxy_end_call_internal): Just call dbus_g_pending_call_end_valist. * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup of builtin marshaller for STRING_STRING_STRING. * test/glib/test-dbus-glib.c: * test/glib/test-service-glib.c: * test/glib/test-service-glib.xml: Extend tests to cover name proxies, destruction of owner proxies, etc. * glib/examples/example-signal-recipient.c (dbus_g_proxy_new_for_name_owner): Create a name proxy. * tools/dbus-send.c (main): Print D-BUS error name in addition to message. glib/dbus-gobject.c | 14 +- glib/dbus-gproxy.c | 780 ++++++++++++++++++++++++++---- glib/examples/example-signal-recipient.c | 9 +- 3 files changed, 689 insertions(+), 114 deletions(-) commit f2f505e8027bd4ef84b051ad9cd84ab86524b530 Author: Colin Walters Date: 2005-06-27 18:20:20 +0000 2005-06-27 Colin Walters * test/glib/test-dbus-glib.c: * test/glib/test-service-glib.c: * test/glib/test-service-glib.xml: Test hash table signal emitting. * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert types to their fundamental basis types, since this is what marshallers operate on. Also add an entry for VOID__BOXED. (dbus_g_object_register_marshaller_array): Convert to fundamental. glib/dbus-gobject.c | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) commit f0480850590afa233d7e1ad2b0c8250621c2bb9f Author: Colin Walters Date: 2005-06-26 17:02:09 +0000 2005-06-26 Colin Walters * glib/dbus-glib.c (dbus_set_g_error): Delete. (dbus_g_error_set): New public function from its ashes; used by both service-side method implementation and GLib bindings internals. (dbus_g_error_has_name, dbus_g_error_get_name): New function. (_dbus_glib_test): Add some tests. * test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name. * test/glib/test-service-glib.c (my_object_throw_error): Use dbus_g_error_set. * glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle errors thrown by dbus_g_error_set. * glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set. * glib/dbus-gparser.c (validate_signature): Ditto. * glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner) (dbus_g_proxy_end_call_internal): Ditto. * glib/Makefile.am: Generate dbus-glib-error-switch.h, which converts DBUS_ERROR_x to DBUS_GERROR_x. (libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it. * doc/TODO: Remove error TODO. * doc/dbus-tutorial.xml: Update with documentation about error handling. * dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to GERROR. Also add DBUS_GERROR_REMOTE_EXCEPTION. glib/.cvsignore | 1 + glib/Makefile.am | 8 +++ glib/dbus-glib.c | 109 ++++++++++++++++++++++++++++++----- glib/dbus-gmain.c | 2 +- glib/dbus-gobject.c | 15 +++-- glib/dbus-gparser.c | 2 +- glib/dbus-gproxy.c | 6 +- glib/make-dbus-glib-error-switch.sh | 29 ++++++++++ 8 files changed, 150 insertions(+), 22 deletions(-) commit ce03d4c9e9be4724a3255085b5ab5e51d9b9c196 Author: Colin Walters Date: 2005-06-22 23:35:32 +0000 2005-06-22 Colin Walters Patch from Ross Burton * glib/dbus-gobject.c (dbus_g_method_return): Free out_sig. glib/dbus-gobject.c | 1 + 1 file changed, 1 insertion(+) commit 6d152f08fa90bdc14d75b9091cccd5422faf3f11 Author: Colin Walters Date: 2005-06-21 01:18:25 +0000 2005-06-20 Colin Walters * configure.in: Add glib/examples. * glib/Makefile.am: Add examples/ * glib/examples/.cvsignore * glib/examples/Makefile.am * glib/examples/example-client.c * glib/examples/example-service.c * glib/examples/example-service.xml * glib/examples/example-signal-emitter.c * glib/examples/example-signal-emitter.xml * glib/examples/example-signal-recipient.c: New files; GLib binding examples, ported from python/examples. glib/Makefile.am | 2 + glib/examples/.cvsignore | 17 ++++ glib/examples/Makefile.am | 34 ++++++++ glib/examples/example-client.c | 107 +++++++++++++++++++++++ glib/examples/example-service.c | 138 ++++++++++++++++++++++++++++++ glib/examples/example-service.xml | 19 ++++ glib/examples/example-signal-emitter.c | 132 ++++++++++++++++++++++++++++ glib/examples/example-signal-emitter.xml | 13 +++ glib/examples/example-signal-recipient.c | 103 ++++++++++++++++++++++ 9 files changed, 565 insertions(+) commit ad05d7aa3b298fdc6c214550944e9aa1464a1e43 Author: Colin Walters Date: 2005-06-21 00:30:20 +0000 2005-06-20 Colin Walters * dbus/dbus-glib.h: * glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to dbus_g_proxy_call. * glib/dbus-binding-tool-glib.c: * doc/dbus-tutorial.xml: * test/glib/test-dbus-glib.c: Update for rename. glib/dbus-binding-tool-glib.c | 2 +- glib/dbus-gproxy.c | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) commit 17ba4df65fdf4a7b65eedd2a4f10e616dd1b186c Author: Colin Walters Date: 2005-06-20 19:54:21 +0000 2005-06-20 Colin Walters Patch suggested by Ross Burton * glib/dbus-gobject.c (export_signals): Free signal name. (g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug memory leak. Add a bit of documentation. (dbus_g_method_return_error): Free context, and note we do so. glib/dbus-gobject.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit 01b89e61b5b98ad983babb506c9856aeadef2562 Author: Murray Cumming Date: 2005-06-19 15:31:25 +0000 2005-06-18 Murray Cumming * dbus/dbus-glib.h: * glib/dbus-gobject.c: * glib/dbus-gproxy.c: * glib/dbus-gvalue.c: Predeclare structs as typedef struct _Something Something instead of typedef struct Something Something, so we can redeclare the prototypes. Other GNOME libraries do this already. glib/dbus-gobject.c | 2 +- glib/dbus-gproxy.c | 8 ++++---- glib/dbus-gvalue.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) commit da18702f63a9f33d4f929113b6361062a86443a6 Author: Colin Walters Date: 2005-06-17 14:29:48 +0000 2005-06-17 Colin Walters * glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't spew warnings if we get malformed remote signals. * glib/dbus-gobject.c (propsig_iterate): New function. (lookup_object_info): New function, extracted from lookup_object_and_method. (introspect_properties, introspect_signals): Delete; these are merged into write_interface. (write_interface): Write out signals and properties here; dump the org.gtk.object stuff and use the interface given in the introspection data blob. Also fix up property XML. (lookup_values): New function. (introspect_interfaces): Gather a mapping from interface to a list of its methods, signals, and properties, then write out each interface. (lookup_object_and_method): Use lookup_object_info. (struct DBusGSignalClosure): Add interface. (dbus_g_signal_closure_new): Add interface. Don't dup signame; we can just use the constant data. (dbus_g_signal_closure_finalize): Don't free signal name. (signal_emitter_marshaller): Use interface from signal closure. (export_signals): Only export signals mentioned in introspection blob. (dbus_g_connection_register_g_object): Warn if we have no introspection data for an object. (funcsig_equal): Remove unused variable. (dbus_g_object_register_marshaller): Take varargs instead of list. (dbus_g_object_register_marshaller_array): New function, extracted from old dbus_g_object_register_marshaller. * glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add signals and property data. (write_quoted_string): New function, extracted from generate_glue. (generate_glue): Write signals and properties to introspection blob. * dbus/dbus-glib.h (struct DBusGObjectInfo): Include exported_signals and exported_properties. (dbus_g_object_register_marshaller): Update prototype. (dbus_g_object_register_marshaller_array): Prototype. * test/glib/test-dbus-glib.c: Extend testing to cover new signals. * test/glib/test-service-glib.c: Add new test signals and method to emit them. * test/glib/test-service-glib.xml: Add some test signals. * test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c and my-object-marshal.h (test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add my-object-marshal.c. (my-object-marshal.c, my-object-marshal.h): Implement. * test/glib/.cvsignore: Update. * doc/TODO: Remove two GLib TODO items fixed by this patch. glib/dbus-binding-tool-glib.c | 88 +++++-- glib/dbus-gobject.c | 547 ++++++++++++++++++++++++----------------- glib/dbus-gproxy.c | 3 + 3 files changed, 394 insertions(+), 244 deletions(-) commit 5c64ac1e7abcb7013c640d8aa6621319341f228d Author: Colin Walters Date: 2005-06-16 19:50:24 +0000 2005-06-16 Colin Walters * glib/dbus-binding-tool-glib.c: * glib/dbus-gobject.c: * glib/dbus-gproxy.c: Add Nokia copyright; Patch from Ross Burton, for his GLib bindings work. glib/dbus-binding-tool-glib.c | 1 + glib/dbus-gobject.c | 1 + glib/dbus-gproxy.c | 1 + 3 files changed, 3 insertions(+) commit 87556105e7b984f8e56fc75d5c5ede8a69d63d12 Author: Colin Walters Date: 2005-06-16 19:45:49 +0000 2005-06-16 Colin Walters * glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params to iterate instead of walking to G_TYPE_INVALID. Patch based on a patch from Ryan Gammon. glib/dbus-gobject.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) commit b274594d1f15e23be62d3ae2693524652ff58752 Author: Colin Walters Date: 2005-06-16 04:38:11 +0000 2005-06-16 Colin Walters * glib/dbus-gvalue.c (marshal_basic): Marshal NULL string values as the empty string (#2948). glib/dbus-gvalue.c | 2 ++ 1 file changed, 2 insertions(+) commit 702f09f4f45225f603a6d17ae77c3360c428855a Author: Colin Walters Date: 2005-06-14 15:55:10 +0000 2005-06-14 Colin Walters * glib/dbus-binding-tool-glib.c: * glib/dbus-gobject.c: * glib/dbus-gvalue.c: Fix indentation and brace style. glib/dbus-binding-tool-glib.c | 74 ++++++++-------- glib/dbus-gobject.c | 190 +++++++++++++++++++++-------------------- glib/dbus-gvalue.c | 11 +-- 3 files changed, 145 insertions(+), 130 deletions(-) commit ceb44c57e8ebc78ef420597bae484f7713c2e8bf Author: Colin Walters Date: 2005-06-14 15:49:43 +0000 2005-06-14 Ross Burton . * glib/dbus-glib.h: Make DBusGMethodInvocation a private structure. Rearrange prototypes a bit. * glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add documentation for first_arg_type. * glib/dbus-gobject.c: Move DBusGMethodInvocation here, add documentation. Move dbus_g_method_return and dbus_g_method_return_error into public API section. glib/dbus-gobject.c | 119 ++++++++++++++++++++++++++++++--------------------- glib/dbus-gproxy.c | 1 + 2 files changed, 71 insertions(+), 49 deletions(-) commit 72b52186a73aac9f4d0ae1868fe1dedcedf3a6e6 Author: Colin Walters Date: 2005-06-14 14:23:56 +0000 2005-06-14 Colin Walters * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Add missing return statements, noticed by Ross Burton. glib/dbus-gobject.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 40617899dc08750ab5a8cd0fb176dc2111a95420 Author: Colin Walters Date: 2005-06-13 15:36:31 +0000 2005-06-13 Ross Burton . * glib/dbus-gobject.c: Handle errors on message demarshalling by sending error message back. * glib/dbus-gvalue.c: Initialize return variables. glib/dbus-gobject.c | 11 ++++++++--- glib/dbus-gvalue.c | 8 ++++---- 2 files changed, 12 insertions(+), 7 deletions(-) commit fc23d39a292cee7d4f9ee9a1df0c0141c69d0942 Author: Colin Walters Date: 2005-06-13 15:34:05 +0000 2005-06-13 Colin Walters * glib/Makefile.am: Fix thinko in last patch. glib/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7c42065c67e99716130a5dec4e493bce3ccc9aaa Author: Colin Walters Date: 2005-06-13 14:56:51 +0000 2005-06-13 Colin Walters * glib/Makefile.am: Move dbus-gtype-specialized.c and dbus-gtype-specialized.h into a _HEADERS variable, install them. glib/Makefile.am | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 8bcbafe775d6bc63290c5c73f138c1511b104c70 Author: Colin Walters Date: 2005-06-13 03:01:17 +0000 2005-06-12 Colin Walters Async signals and various bugfixes and testing by Ross Burton . * glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete. (dbus_gvalue_genmarshal_name_from_type) (dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c. (dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature. (dbus_g_value_types_init, dbus_gtype_from_signature) (dbus_gtype_from_signature_iter, dbus_gtype_to_signature) (dbus_gtypes_from_arg_signature): New function prototypes. (dbus_gvalue_demarshal): Take context and error arguments. (dbus_gvalue_demarshal_variant): New function. (dbus_gvalue_demarshal_message): New function. (dbus_gvalue_store): Delete. * glib/dbus-gvalue.c: File has been almost entirely rewritten; now we special-case more types such as DBUS_TYPE_SIGNATURE, handle arrays and hash tables correctly, etc. Full support for recursive values is not yet complete. * glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last argument of signal to G_TYPE_POINTER since we now pass a structure. (lookup_g_marshaller): Delete in favor of _dbus_gobject_lookup_marshaller. (marshal_dbus_message_to_g_marshaller): Use _dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message to handle remote signal callbacks. (dbus_g_proxy_new_from_proxy): New function; creates a new DBusGProxy by copying an existing one. (dbus_g_proxy_get_interface, dbus_g_proxy_set_interface) (dbus_g_proxy_get_path): New functions. (dbus_g_proxy_marshal_args_to_message): New function; factored out of existing code. (DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments from a varargs array. (dbus_g_proxy_begin_call_internal): New function. (dbus_g_proxy_end_call_internal): New function. (dbus_g_proxy_begin_call): Take GTypes instead of DBus types as arguments; simply invoke dbus_g_proxy_begin_call_internal after collecting args into value array. (dbus_g_proxy_end_call): Take GTypes instead of DBus types; invoke dbus_g_proxy_end_call_internal. (dbus_g_proxy_invoke): Simply invoke begin_call_interanl and end_call_internal. (dbus_g_proxy_call_no_reply): Take GTypes instead of DBus types. (array_free_all): New function. (dbus_g_proxy_add_signal): Take GTypes. * glib/dbus-gobject.h: (_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete. (_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller): Prototype. * glib/dbus-gobject.c: Add a global marshal_table hash which stores mappings from type signatures to marshallers. Change lots of invocations of dbus_gtype_to_dbus_type to dbus_gtype_to_signature. (_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete. (introspect_signals): Fix test for query.return_type. (set_object_property): Update invocation of dbus_gvalue_demarshal. (invoke_object_method): Many changes. Handle asynchronous invocations. Convert arguments with dbus_gvalue_demarshal_message. Handle errors. Use DBusSignatureIter instead of strlen on args. Handle all arguments generically. Special-case variants. (dbus_g_method_return, dbus_g_method_return_error): New function. (DBusGSignalClosure): New structure, closes over signal information. (dbus_g_signal_closure_new): New function. (dbus_g_signal_closure_finalize): New function. (signal_emitter_marshaller): New function; is special marshaller which emits signals on bus. (export_signals): New function; introspects object signals and connects to them. (dbus_g_object_type_install_info): Take GType instead of GObjectClass. (dbus_g_connection_register_g_object): Invoke export_signals. (dbus_g_connection_lookup_g_object): New function. (DBusGFuncSignature) New structure; used for mapping type signatures to marshallers. (funcsig_hash): New function; hashes DBusGFuncSignature. (funcsig_equal): New function; compares DBusGFuncSignature. (_dbus_gobject_lookup_marshaller): New function. (dbus_g_object_register_marshaller): New function; used to register a marshaller at runtime for a particular signature. * glib/dbus-gmain.c (_dbus_gmain_test): Add various tests. * glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC which notes a server method implementation should be asynchronous. * glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call dbus_g_value_types_init. (write_formal_parameters): Use dbus_gtype_from_signature. Handle variants specially. (dbus_g_type_get_lookup_function): Turn GType into an invocation of a lookup function. (write_args_for_direction): Use dbus_g_type_get_lookup_function. (write_untyped_out_args): New method; write output arguments. (write_formal_declarations_for_direction): Function for writing prototypes. (write_formal_parameters_for_direction): Function for writing implementations. (write_typed_args_for_direction): Function for writing arguments prefixed with GTypes. (write_async_method_client): Write out async version of method. * glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h. (dbus_g_type_get_marshal_name): Move mapping from GType to marshal name into here. (dbus_g_type_get_c_name): Move into here. (compute_marshaller): Convert signature to type with dbus_gtype_from_signature, use dbus_g_type_get_marshal_name. (compute_marshaller_name): Ditto. (compute_marshaller): Handle async signal annotations. (gather_marshallers): Return if we don't have a known prefix. (generate_glue): Collect introspection blob here, and write all of the blob at the end. This allows an object with multiple interfaces to work. Mark async methods in introspection blob. * glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add dbus-gtype-specialized.c, dbus-gtype-specialized.h, dbus-gvalue-utils.h, dbus-gvalue-utils.c. * dbus/dbus-glib.h: Don't include dbus-protocol.h; this avoids people accidentally using DBUS_TYPE_* which should not be necessary anymore. Do include dbus-gtype-specialized.h, which are utilities for GLib container types. Add various #defines for types such as DBUS_TYPE_G_BOOLEAN_ARRAY. (DBusGValueIterator, DBusGValue): Define, not fully used yet. (dbus_g_value_get_g_type): Type for recursive value. (dbus_g_value_open, dbus_g_value_iterator_get_value) (dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse) (dbus_g_value_free): Prototypes. (dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype. (dbus_g_proxy_set_interface): Prototype. (dbus_g_proxy_begin_call, dbus_g_proxy_end_call) (dbus_g_proxy_call_no_reply): Take GLib types instead of DBus types. (dbus_g_proxy_get_path, dbus_g_proxy_get_interface): Accessors. (DBusGAsyncData, DBusGMethodInvocation): Structures for doing async invocations. (dbus_g_method_return, dbus_g_method_return_error): Prototypes. * doc/dbus-tutorial.xml: Update GLib section. * tools/dbus-viewer.c (load_child_nodes): Update for new invocation type of dbus_g_proxy_end_call. (load_from_service_thread_func): Ditto. * tools/print-introspect.c (main): Ditto. * tools/dbus-names-model.c (have_names_notify) (names_model_reload, names_model_set_connection) Use GTypes. * python/Makefile.am (INCLUDES): Define DBUS_COMPILATION, needed since Python bindings use GLib bindings. * test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION. Add --prefix argument. * tools/Makefile.am: Define DBUS_COMPILATION. Remove unneeded --ignore-unsupported arg. * test/glib/test-service-glib.c: * test/glib/test-service-glib.xml: * test/glib/test-dbus-glib.c: Add many more tests. glib/Makefile.am | 6 +- glib/dbus-binding-tool-glib.c | 642 +++++++++++++++--- glib/dbus-binding-tool-glib.h | 1 + glib/dbus-gmain.c | 29 + glib/dbus-gobject.c | 599 +++++++++++++--- glib/dbus-gobject.h | 10 +- glib/dbus-gproxy.c | 789 +++++++++++---------- glib/dbus-gtype-specialized.c | 441 ++++++++++++ glib/dbus-gtype-specialized.h | 104 +++ glib/dbus-gvalue-utils.c | 715 +++++++++++++++++++ glib/dbus-gvalue-utils.h | 70 ++ glib/dbus-gvalue.c | 1508 +++++++++++++++++++++++++++++++++++------ glib/dbus-gvalue.h | 55 +- 13 files changed, 4185 insertions(+), 784 deletions(-) commit 4bc350fedd536bc187768a7bfa2455aae7474f74 Author: John (J5) Palmieri Date: 2005-05-16 21:27:03 +0000 * glib/dbus-gmain.c (io_handler_dispatch): fix deadlock when using recursive g_main_loops * python/_dbus.py (class Bus): add the ProxyObjectClass alias for ProxyObject to make it easier for the Twisted networking framework to integrate dbus. * python/proxies.py (class ProxyObject): add the ProxyMethodClass alias for ProxyMethod to make it easier for the Twisted networking framework to integrate dbus. glib/dbus-gmain.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) commit 3c7dcbf8f47d3061fccdc315716c90a0b69a470f Author: Colin Walters Date: 2005-05-11 19:02:31 +0000 2005-05-11 Ross Burton * glib/dbus-glib-tool.c: Add --prefix argument. * glib/dbus-binding-tool-glib.h: Add prefix argument. * glib/dbus-binding-tool-glib.c (compute_marshaller_name): Add prefix argument. (generate_glue): Pass prefix argument down. (dbus_binding_tool_output_glib_server): Pass prefix to glib-genmarshal. glib/dbus-binding-tool-glib.c | 16 ++++++++++------ glib/dbus-binding-tool-glib.h | 2 +- glib/dbus-glib-tool.c | 8 +++++++- 3 files changed, 18 insertions(+), 8 deletions(-) commit 55263b490f4dba73b1590939be2b087856487054 Author: Colin Walters Date: 2005-05-03 17:45:29 +0000 2005-05-03 Ross Burton * glib/dbus-gobject.c (dbus_g_connection_register_g_object): Return if we get an error during registration. Set up a weak reference on object to unregister if object is destroyed. (unregister_gobject): New function. glib/dbus-gobject.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) commit 260e1fecf1690bb12c5bf7d5ddf793d79a1efed5 Author: David Zeuthen Date: 2005-04-19 03:35:19 +0000 2005-04-18 David Zeuthen * glib/dbus-gmain.c (io_handler_destroy_source): (timeout_handler_destroy_source, connection_setup_free): Also unref the source to avoid memory leaks. glib/dbus-gmain.c | 3 +++ 1 file changed, 3 insertions(+) commit 56288b6e3a9e5f8bd8920c5f7dac2a2b64842b15 Author: Havoc Pennington Date: 2005-04-13 14:10:21 +0000 2005-04-13 Havoc Pennington * glib/dbus-gmain.c (message_queue_dispatch): only dispatch one message at a time to avoid monopolizing the main loop, bug #2953 from Benjamin Otte glib/dbus-gmain.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit ca2ab9616ed7c6e936e495e64303f77956cb6b82 Author: Havoc Pennington Date: 2005-04-09 23:50:58 +0000 2005-04-09 Havoc Pennington * dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning * glib/dbus-glib-tool.c (main): fix warning * glib/dbus-binding-tool-glib.c (generate_glue): fix warning * dbus/dbus-connection.c (dbus_connection_read_write_dispatch): add a new function that can be used in simple applications that don't have a main loop and are willing to block glib/dbus-binding-tool-glib.c | 3 +++ glib/dbus-glib-tool.c | 1 + 2 files changed, 4 insertions(+) commit b34961c0e5a75ff9f70e0ba439a96d993456ef92 Author: David Zeuthen Date: 2005-04-06 17:36:47 +0000 2005-04-05 David Zeuthen Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889 * glib/dbus-gmain.c: (io_handler_destroy_source): Remove from list of IO handlers of the ConnectionSetup object (timeout_handler_destroy_source): -do- for timeout handlers (io_handler_source_finalized): Don't remove from list since we now do that in io_handler_destroy_source(). Renamed from io_handler_source_destroyed (timeout_handler_source_destroyed): -do- for timeout handlers (connection_setup_free): It is now safe to iterate over all IO and timeout handlers as the _destroy_source removes them from the list synchronously glib/dbus-gmain.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) commit 681e7deee9a01c1f315b0066b87204e0da207d99 Author: Colin Walters Date: 2005-03-17 17:48:29 +0000 2005-03-17 Colin Walters * bus/print-introspect.c: Move to tools/. * bus/run-with-tmp-session-bus.sh: Ditto. * glib/Makefile.am (dbus-glib-bindings.h): Move generation to tools/Makefile.am. * test/glib/run-test.sh: Update to handle move of run-with-tmp-session-bus.sh. * test/glib/test-service-glib.c: Update to handle move of dbus-glib-bindings.h. * tools/print-introspect.c: Moved here from bus/, and ported to GLib bindings. * tools/run-with-tmp-session-bus.sh: Moved here from bus/. * tools/Makefile.am: Generate dbus-glib-bindings.h and dbus-bus-introspect.xml here. * tools/.cvsignore, glib/.cvsignore, bus/.cvsignore: Update. glib/.cvsignore | 1 - glib/Makefile.am | 8 -------- 2 files changed, 9 deletions(-) commit 1cc2659deb9f108f449ad3ca8f18bff743a4cd81 Author: Colin Walters Date: 2005-03-12 20:07:21 +0000 2005-03-12 Colin Walters * bus/driver.c (write_args_for_direction): New function, parses a type signature into arguments and outputs to XML. (bus_driver_handle_introspect): Use it instead of hardcoding XML for certain signatures. * bus/Makefile.am (dbus-bus-introspect.xml): Add dependency on dbus-daemon. * glib/dbus-glib-tool.c (main): Parse ignore_unsupported argument, pass it to dbus_binding_tool_output_glib_client. * glib/dbus-binding-tool-glib.c (generate_client_glue): Protect against multiple inclusion. (dbus_binding_tool_output_glib_client): Add G_BEGIN_DECLS/G_END_DECLS. * glib/dbus-binding-tool-glib.c (compute_client_method_name): Change to just take iface prefix directly. (write_formal_parameters): Clarify error message. (check_supported_parameters): New function; checks to see type signatures of method parameters are supported. (generate_client_glue): Handle ignore_unsupported flag. (dbus_binding_tool_output_glib_client): Handle ignore_unsupported parameter. * glib/Makefile.am (dbus-glib-bindings.h): Pass --ignore-unsupported by default until glib bindings support arrays. glib/Makefile.am | 2 +- glib/dbus-binding-tool-glib.c | 64 +++++++++++++++++++++++++++++++++++------ glib/dbus-binding-tool-glib.h | 2 +- glib/dbus-glib-tool.c | 6 +++- 4 files changed, 63 insertions(+), 11 deletions(-) commit c5247484ea45ef9b6b3449a71e3ea80b86de03ad Author: Colin Walters Date: 2005-03-12 16:33:00 +0000 2005-03-11 Colin Walters * glib/Makefile.am: Generate dbus-glib-bindings.h and install it. * bus/print-introspect.c: New file; prints introspection data for a given name and object path. * bus/run-with-tmp-session-bus.sh: New file, refactored from test/glib/run-test.sh. Creates a temporary session bus and runs another program. * test/glib/run-test.sh: Refactor to invoke run-with-tmp-session-bus.sh. * bus/driver.c (bus_driver_handle_introspect): Fix to print new introspection format. Also change to use DBUS_TYPE_x_AS_STRING macros instead of hardcoding. * glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update. glib/.cvsignore | 1 + glib/Makefile.am | 8 ++++++++ 2 files changed, 9 insertions(+) commit 10dc75239d071c49622972d061ff7546ed169bc5 Author: Colin Walters Date: 2005-03-09 17:09:11 +0000 2005-03-09 Colin Walters * glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls to this are generated for client-side wrappers. Invokes a D-BUS method and returns reply values. * glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New function; writes signature string for argument direction. (write_args_for_direction): Change to pass input values directly instead of via address, and fix indentation. (generate_client_glue): Change to invoke dbus_g_proxy_invoke. Also make generated wrappers inlineable. * dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add note about using dbus_type_is_fixed. * dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to dbus/dbus-signature.c as dbus_type_is_fixed. All callers updated. * dbus/dbus-signature.c (dbus_type_is_fixed): Moved here from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed. * dbus/dbus-signature.h: Prototype. * glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix error printf code. * test/glib/test-dbus-glib.c (main): Be sure to clear error as appropriate instead of just freeing it. (main): Free returned strings using g_free. * test/glib/Makefile.am (test-service-glib-glue.h) (test-service-glib-bindings.h): Add dependency on dbus-binding-tool. * glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT; simply maps a simple D-BUS type to GType. (dbus_dbus_type_to_gtype): Function which maps D-BUS type to GType. (dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and initialize the value with it. (dbus_gvalue_binding_type_from_type): Unused, delete. (dbus_gvalue_demarshal): Switch to hardcoding demarshalling for various types instead of unmarshalling to value data directly. Remove can_convert boolean. (dbus_gvalue_marshal): Remove duplicate initialization; switch to returning directly instead of using can_convert boolean. (dbus_gvalue_store): New function; not related to D-BUS per-se. Stores a GValue in a pointer to a value of its corresponding C type. * glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type, add dbus_gvalue_store. glib/dbus-binding-tool-glib.c | 73 ++++++------ glib/dbus-gproxy.c | 205 +++++++++++++++++++++++++++++++++ glib/dbus-gvalue.c | 254 +++++++++++++++++++++++------------------ glib/dbus-gvalue.h | 4 +- 4 files changed, 392 insertions(+), 144 deletions(-) commit 61b05621beeb5a929bf68b95fdb9cb63516c1c7e Author: John (J5) Palmieri Date: 2005-03-07 21:10:46 +0000 * NEWS: Update for 0.31 * configure.in: Release 0.31 add LT_CURRENT, LT_REVISION, LT_AGE for easy soname bumping * qt/Makefile.am: fixed build * dbus/Makefile.am: soname bump for libdbus * glib/Makefile.am: soname bump for libdbus-glib glib/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit be6ef9488ddc1b9fd3fc303cccf6e6618450be89 Author: Colin Walters Date: 2005-02-27 17:38:12 +0000 2005-02-27 Colin Walters * glib/dbus-gidl.c (property_info_get_type, arg_info_get_type): Change return value to const char * instead of int so we can do full signatures. (struct PropertyInfo, struct ArgInfo): Store char *. (property_info_new, arg_info_new): Update parameters, strdup. (property_info_unref, arg_info_unref): Free. * glib/dbus-gidl.h: Update prototypes. * glib/dbus-gparser.c (basic_type_from_string): Delete. (validate_signature): New function, just validates signature and sets GError. (parse_property, parse_arg): Invoke validate_signature. Store signature instead of just type code. * glib/dbus-gvalue.c (base_type_from_signature): New utility function to return a primary type for a signature, dropping information about types in container types. (dbus_gvalue_genmarshal_name_from_type) (dbus_gvalue_binding_type_from_type) (dbus_gvalue_ctype_from_type): Update to take full signature instead of type code. (dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c. * glib/dbus-gvalue.h: Update prototypes for above. * glib/dbus-gobject.c (gtype_to_dbus_type): Moved to glib/dbus-gvalue.c as dbus_gtype_to_dbus_type. (introspect_properties, introspect_signals, write_interface): Update to handle signatures, and remove usage of _dbus_gutils_type_to_string. (handle_introspect): Print out type codes instead of e.g. "string" in hardcoded introspection XML; also use x_AS_STRING constants instead of hardcoding in string. * glib/dbus-glib-tool.c (pretty_print): Handle signature change to string. Remove usage of _dbus_gutils_type_to_string. * glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete. * glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for deletion. * glib/dbus-binding-tool-glib.c (compute_marshaller) (compute_marshaller_name, generate_glue): Handle signature change to string. (write_formal_parameters, write_args_for_direction): Ditto, and remove FIXME. * tools/dbus-tree-view.c (type_to_string): Delete. (info_set_func_text): Update to print full signatures. * test/glib/test-service-glib.xml: Change types to new introspection format. glib/dbus-binding-tool-glib.c | 20 ++++++------ glib/dbus-gidl.c | 18 ++++++----- glib/dbus-gidl.h | 8 ++--- glib/dbus-glib-tool.c | 8 ++--- glib/dbus-gobject.c | 69 ++++++++------------------------------- glib/dbus-gparser.c | 72 +++++++++-------------------------------- glib/dbus-gutils.c | 42 ------------------------ glib/dbus-gutils.h | 1 - glib/dbus-gvalue.c | 71 ++++++++++++++++++++++++++++++++++++++-- glib/dbus-gvalue.h | 8 +++-- 10 files changed, 131 insertions(+), 186 deletions(-) commit 662755210c931da87972398ded13d4651e3d3fec Author: John (J5) Palmieri Date: 2005-02-24 22:01:34 +0000 glib/Makefile.am: added dbus-gobject.h to sources list so distcheck doesn't fail glib/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit 0573676ce932874b07780036eaeaa42a6f3e1628 Author: Colin Walters Date: 2005-02-19 23:25:41 +0000 2005-02-19 Colin Walters * glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Fix iochannel refcounting. * glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well as errno.h and sys/stat.h. (lose): New function, prints error with newline and exits. (lose_gerror): Similar, but takes GError for message. (main): Add --output argument to specify output file to write to, instead of always printing to stdout. In this mode, determine timestamps on source files to see whether any are newer than the target file. If not, exit. Also convert a number of error messages to use lose (since it's shorter), and switch to using g_io_channel_shutdown. glib/dbus-binding-tool-glib.c | 2 +- glib/dbus-glib-tool.c | 119 +++++++++++++++++++++++++++++++---------- 2 files changed, 91 insertions(+), 30 deletions(-) commit 7ff788981218b324d0eeec16fa4b7bb9ec97d694 Author: Havoc Pennington Date: 2005-02-19 16:17:29 +0000 2005-02-19 Havoc Pennington * glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs * glib/dbus-glib.c: fix doxygen warnings * glib/dbus-gparser.c (parse_annotation): error if an annotation is found on an glib/dbus-glib.c | 8 ++++---- glib/dbus-gobject.c | 8 +++++++- glib/dbus-gparser.c | 4 +--- 3 files changed, 12 insertions(+), 8 deletions(-) commit 03186401718758948242881cf429bdbb48eb8474 Author: Colin Walters Date: 2005-02-18 03:14:33 +0000 2005-02-17 Colin Walters * glib/dbus-gobject.h: Don't export _dbus_glib_marshal_dbus_message_to_gvalue_array. * glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename. (invoke_object_method): Handle it. * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller): Handle rename. glib/dbus-gobject.c | 4 ++-- glib/dbus-gobject.h | 2 +- glib/dbus-gproxy.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) commit a6e8deb82f6202628fcb3b9b3a616d0a98598474 Author: Colin Walters Date: 2005-02-17 21:19:48 +0000 2005-02-17 Colin Walters * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_SERVICE_DBUS. (DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS. (DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL. (DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS. (DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to DBUS_INTERFACE_INTROSPECTABLE. (DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to DBUS_INTERFACE_PROPERTIES. (DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to DBUS_INTERFACE_PEER. (DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL): DBUS_INTERFACE_LOCAL. All other users of those constants have been changed. * bus/driver.c (bus_driver_handle_introspect): Use constants. * glib/dbus-gobject.c (handle_introspect): Use constants. * doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename. glib/dbus-gobject.c | 10 +++++----- glib/dbus-gproxy.c | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) commit b085dcd0556e82c8fe347cc4bedd2e5b9b876a95 Author: Colin Walters Date: 2005-02-17 21:11:18 +0000 2005-02-17 Colin Walters * glib/dbus-gparser.c (struct Parser): Add in_annotation boolean. (parse_node, parse_interface, parse_method, parse_signal) (parse_property, parse_annotation): Lose if we're currently in an annotation. (parse_annotation): New function. (parser_start_element, parser_end_element): Handle annotation. (parse_method, parse_interface): Remove support for c_name attribute, switch to annotations. * glib/dbus-gidl.h (interface_info_get_binding_names) (method_info_get_binding_names) (interface_info_get_binding_name, method_info_get_binding_name) (interface_info_set_binding_name, method_info_set_binding_name): Remove. (interface_info_get_annotations, method_info_get_annotations) (interface_info_get_annotation, method_info_get_annotation) (interface_info_add_annotation, method_info_add_annotation): Prototype. * glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations" for "bindings". (struct MethodInfo): Ditto. Straightfoward conversion of binding methods into annotation methods as prototyped. * glib/dbus-glib-tool.c (pretty_print): Print annotations. * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define. * glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue): Use new annotation API. * doc/introspect.dtd: Fix a number of DTD syntax errors. Add annotation element. * doc/dbus-specification.xml: Discuss introspection annotations, include list of well-known annotations. * test/glib/test-service-glib.xml: Make validate against new DTD. glib/dbus-binding-tool-glib.c | 10 ++--- glib/dbus-binding-tool-glib.h | 2 + glib/dbus-gidl.c | 60 ++++++++++++++-------------- glib/dbus-gidl.h | 24 +++++------ glib/dbus-glib-tool.c | 30 +++++++------- glib/dbus-gparser.c | 88 ++++++++++++++++++++++++++++++++++++----- 6 files changed, 143 insertions(+), 71 deletions(-) commit 87e81b87d7b443142302ecb48e46191a443ae02a Author: Colin Walters Date: 2005-02-17 17:41:24 +0000 2005-02-17 Colin Walters This patch is based on initial work from Paul Kuliniewicz . * glib/dbus-gvalue.c (dbus_gvalue_init): New function; move initialization of GValue from dbus type to here. (dbus_gvalue_genmarshal_name_from_type): New function; generates a string for the "glib-genmarshal" program from a DBus type. (dbus_gvalue_binding_type_from_type): New function; turns a DBus type into the C name for it we use in the glib bindings. (dbus_gvalue_ctype_from_type): New function; maps a DBus type into a glib C type (not GValue). (dbus_gvalue_demarshal): invoke dbus_gvalue_init. * glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here from dbus-gobject.c. * glib/dbus-gutils.h: Prototype it. * glib/dbus-gproxy.c: Include new dbus-gobject.h. (marshal_dbus_message_to_g_marshaller): Use new shared function dbus_glib_marshal_dbus_message_to_gvalue_array. * glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute. Will be changed once we have annotations. * glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to GStaticRWLock. Callers updated. (wincaps_to_uscore): Move to dbus-gutils.c. Callers updated. (string_table_next): New function for iterating over zero-terminated string value array. (string_table_lookup): New function; retrieves specific entry in array. (get_method_data): New function; look up method data in object data chunk. (object_error_domain_prefix_from_object_info) (object_error_code_from_object_info): New functions, but not implemented yet. (method_interface_from_object_info): New function; retrieve interface name. (method_name_from_object_info): New function; retrieve method name. (method_arg_info_from_object_info): New function; retrieve argument data. (arg_iterate): New function; iterates over serialized argument data. (method_dir_signature_from_object_info): New function; returns a GString holding type signature for arguments for just one direction (input or output). (method_input_signature_from_object_info) (method_output_signature_from_object_info): New functions. (dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function; converts dbus message arguments into a GValue array. Used for both signal handling and method invocation. (struct DBusGlibWriteIterfaceData): New utility structure. (write_interface): New function; generate introspection XML for an interface. (introspect_interfaces): New function; gathers all interface->methods, generates introspection XML for them. (handle_introspect): Invoke introspect_interfaces. (get_object_property): Be sure to zero-initalize stack-allocated GValue. (lookup_object_and_method): New function; examines an incoming message and attempts to match it up (via interface, method name, and argument signature) with a known object and method. (gerror_domaincode_to_dbus_error_name): New function; converts a GError domain and code into a DBus error name. Needs GError data added to object introspection to work well. (gerror_to_dbus_error_message): Creates a DBusMessage error return from GError. (invoke_object_method): New function to invoke an object method looked up via lookup_object_and_method. Parses the incoming message, turns it into a GValue array, then invokes the marshaller specified in the DBusGMethodInfo. Creates a new message with either return values or error message as appropriate. (gobject_message_function): Invoke lookup_object_and_method and invoke_object_method. * glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h. (enum DBusBindingOutputMode): New enum for binding output modes. (pretty_print): Print binding names. (dbus_binding_tool_error_quark): GError bits. (version): Fix typo. (main): Create GIOChannel for output. Parse new --mode argument, possible values are "pretty-print", "glib-server", "glib-client". Use mode to invoke appropriate function. * glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array. * glib/dbus-glib-tool.h: New header, just includes GError bits for now. * glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable; maps binding style to name. (struct MethodInfo): Ditto. (get_hash_keys, get_hash_key): Utility function, returns keys for a GHashTable. (interface_info_new, method_info_new): Initialize bindings. (interface_info_unref, method_info_unref): Destroy bindings. (method_info_get_binding_names, method_info_get_binding_name) (interface_info_get_binding_names, interface_info_get_binding_name): Functions for retrieving binding names. (method_info_set_binding_name, interface_info_set_binding_name): Functions for setting binding names. * glib/dbus-binding-tool-glib.h: New file, has prototypes for glib binding generation. * glib/dbus-binding-tool-glib.c: New file, implements server-side and client-side glib glue generation. * glib/Makefile.am (dbus_binding_tool_SOURCES): Add dbus-binding-tool-glib.c, dbus-binding-tool-glib.h, dbus-glib-tool.h. * dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor of using GClosureMarshal directly. (struct DBusGObjectInfo): Add n_infos member. * test/glib/test-service-glib.xml: New file; contains introspection data for MyTestObject used in test-service-glib.c. * test/glib/test-service-glib.c (enum MyObjectError): New GError enum. (my_object_do_nothing, my_object_increment, my_object_throw_error) (my_object_uppercase, my_object_many_args): New test methods. (main): Use dbus_g_object_class_install_info to include generated object info. * test/glib/Makefile.am: Generate server-side glue for test-service-glib.c, as well as client-side bindings. * test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h. (main): Activate TestSuiteGLibService; test invoke a bunch of its methods using both the dbus_gproxy stuff directly as well as the generated bindings. glib/Makefile.am | 3 + glib/dbus-binding-tool-glib.c | 812 +++++++++++++++++++++++++++++++++++++++++ glib/dbus-binding-tool-glib.h | 33 ++ glib/dbus-gidl.c | 73 ++++ glib/dbus-gidl.h | 14 +- glib/dbus-glib-tool.c | 120 +++++- glib/dbus-glib-tool.h | 37 ++ glib/dbus-gobject.c | 596 +++++++++++++++++++++++++++--- glib/dbus-gobject.h | 35 ++ glib/dbus-gparser.c | 8 + glib/dbus-gproxy.c | 52 +-- glib/dbus-gutils.c | 28 ++ glib/dbus-gutils.h | 1 + glib/dbus-gvalue.c | 171 ++++++++- glib/dbus-gvalue.h | 28 +- 15 files changed, 1889 insertions(+), 122 deletions(-) commit dd22216537d98b06366ade81eb6f63621d4c6379 Author: Havoc Pennington Date: 2005-02-16 04:37:27 +0000 2005-02-15 Havoc Pennington * dbus/dbus-connection.c (dbus_connection_dispatch): always complete a pending call, don't run filters first. * glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use dbus_pending_call_steal_reply * dbus/dbus-pending-call.c (dbus_pending_call_block): just call _dbus_connection_block_pending_call (dbus_pending_call_get_reply): change to steal_reply and return a ref * dbus/dbus-connection.c (dbus_connection_send_with_reply_and_block): port to work in terms of DBusPendingCall (_dbus_connection_block_pending_call): replace block_for_reply with this glib/dbus-gproxy.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 3ce5325735aae6b1d4e6a28b45465a586710d23e Author: Havoc Pennington Date: 2005-02-12 20:27:45 +0000 2005-02-12 Havoc Pennington * tools/dbus-tree-view.c (info_set_func_text): display more details on args * bus/driver.c (bus_driver_handle_list_services): list the bus driver * glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied * glib/dbus-gidl.c (signal_info_get_n_args): new function (method_info_get_n_args): new function glib/dbus-gidl.c | 12 ++++++++++++ glib/dbus-gidl.h | 2 ++ glib/dbus-gparser.c | 13 ++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) commit 89113d257f1f75cea5d0f39bbca4785afc784bf2 Author: Havoc Pennington Date: 2005-02-10 23:47:54 +0000 2005-02-10 Havoc Pennington * dbus/dbus-object-tree.c (handle_default_introspect_and_unlock): change to be _and_unlock instead of _unlocked * dbus/dbus-connection.c (_dbus_connection_send_preallocated_unlocked_no_update): rename to have no_update so we can find this bug quickly in future glib/dbus-gthread.c | 2 ++ 1 file changed, 2 insertions(+) commit 116d931394d42412595e64185cd9cb97444cd653 Author: Havoc Pennington Date: 2005-02-05 04:15:57 +0000 2005-02-04 Havoc Pennington * glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use g_quark_try_string() so it actually can return 0 (dbus_g_proxy_connect_signal): ditto 2005-02-04 Havoc Pennington * glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a bogus warning (tristring_from_message): assert cleanly on null path/interface (should not be possible though I decided later) (dbus_g_proxy_dispose): move proxy manager unregistration here (DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of g_return_if_fail() checks glib/dbus-gproxy.c | 59 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 13 deletions(-) commit 1fdc099a4ed729871597c501a9015ec2855bebc2 Author: Havoc Pennington Date: 2005-01-31 23:17:18 +0000 2005-01-31 Havoc Pennington * glib/dbus-gproxy.c: rewrite how signals work again, this time I think it's sort of right glib/dbus-gproxy.c | 334 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 194 insertions(+), 140 deletions(-) commit 463fb506e9661849d9838aedbdf4b7febe8e132e Author: Havoc Pennington Date: 2005-01-31 02:55:12 +0000 2005-01-30 Havoc Pennington * tools/dbus-names-model.c: dynamically watch NameOwnerChanged * autogen.sh: change to autotools 1.9 * glib/dbus-gproxy.c: completely change how signals work (dbus_g_proxy_add_signal): new function to specify signature of a signal (dbus_g_proxy_emit_received): marshal the dbus message to GValues, and g_warning if the incoming message has the wrong signature. glib/Makefile.am | 11 ++ glib/dbus-gmarshal.c | 89 ++++++++++++ glib/dbus-gmarshal.h | 21 +++ glib/dbus-gmarshal.list | 1 + glib/dbus-gproxy.c | 345 ++++++++++++++++++++++++++++++++++++----------- 5 files changed, 390 insertions(+), 77 deletions(-) commit c39a68d373c1f73a3bb7d0f45287cee1cd8eff55 Author: Havoc Pennington Date: 2005-01-30 23:06:32 +0000 2005-01-30 Havoc Pennington * glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function (dbus_g_pending_call_cancel): new function * dbus/dbus-glib.h: move GType decls for connection/message here; * dbus/dbus-glib.c: move all the g_type and ref/unref stuff in here, just kind of rationalizing how we handle all that * tools/dbus-names-model.c: new file for a tree model listing the services on a bus * tools/dbus-tree-view.c (model_new): use proper typing on the model rows glib/dbus-glib.c | 335 ++++++++++++++++++++++++++++++++++++++++++++++++++++ glib/dbus-gmain.c | 172 --------------------------- glib/dbus-gproxy.c | 32 +---- 3 files changed, 338 insertions(+), 201 deletions(-) commit 967f6acd6c220b0be691edd18d9a636f4d16fbaf Author: Havoc Pennington Date: 2005-01-30 20:06:52 +0000 2005-01-30 Havoc Pennington * glib/dbus-gmain.c: add a custom GSource back that just checks whether the message queue has anything in it; otherwise, there are cases where we won't see messages in the queue since there was no IO visible to the glib main loop * dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE): increase default message timeout to 25 seconds glib/dbus-gmain.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 86 insertions(+), 7 deletions(-) commit af3c2731c74f014c0713a52d66027a9428c1ddaf Author: Havoc Pennington Date: 2005-01-30 19:33:29 +0000 2005-01-30 Havoc Pennington * glib/dbus-gmain.c: rewrite the main loop stuff to avoid the custom source, seems to be a lot easier to understand and work better. glib/dbus-gmain.c | 653 +++++++++++++++++++++++++---------------------------- 1 file changed, 313 insertions(+), 340 deletions(-) commit 32587c38401f16a9477f7ea7868120645d072462 Author: Havoc Pennington Date: 2005-01-30 18:25:14 +0000 2005-01-30 Havoc Pennington I think this main loop thing is conceptually broken, but here are some band aids. I'll maybe rewrite it in a minute. * glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the custom GSource, so don't pass it in; confusing (gsource_server_finalize, gsource_connection_finalize): add finalize handlers that remove all the watches. glib/dbus-gmain.c | 90 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 74 insertions(+), 16 deletions(-) commit 4b7acbbfacaa37ce399df1ce616920c09750ae60 Author: Havoc Pennington Date: 2005-01-30 07:44:08 +0000 2005-01-30 Havoc Pennington * glib/dbus-gobject.c (introspect_properties): fix the XML generated * dbus/dbus-message.c (dbus_message_unref): add an in_cache flag which effectively detects the use of freed messages * glib/dbus-gobject.c (handle_introspect): modify and return the reply message instead of the incoming message * dbus/dbus-object-tree.c (handle_default_introspect_unlocked): gee, maybe it should SEND THE XML instead of just making a string and freeing it again ;-) * tools/dbus-print-message.c (print_message): improve printing of messages * configure.in: add debug-glib.service to the output glib/dbus-gobject.c | 10 +++++----- glib/dbus-gparser.c | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) commit 71181795196712bbb64d721464f42432997c7d0c Author: Havoc Pennington Date: 2005-01-30 05:18:44 +0000 2005-01-30 Havoc Pennington dbus-viewer introspected and displayed the bus driver * dbus/dbus-object-tree.c (object_tree_test_iteration): add tests for a handler registered on "/" * dbus/dbus-object-tree.c (_dbus_decompose_path): fix to handle path "/" properly (run_decompose_tests): add tests for path decomposition * glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/" properly * glib/dbus-gobject.c (handle_introspect): fix quotes * test/glib/run-test.sh: support launching the bus, then running dbus-viewer * test/glib/test-service-glib.c (main): put in a trivial gobject subclass and register it on the connection * bus/driver.c (bus_driver_handle_introspect): implement introspection of the bus driver service * dbus/dbus-protocol.h: add #defines for the XML namespace, identifiers, doctype decl * bus/driver.c (bus_driver_handle_get_service_owner): handle attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by returning the service unchanged. (bus_driver_handle_message): remove old check for reply_serial in method calls, now the message type deals with that (bus_driver_handle_message): handle NULL interface * glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function * glib/dbus-gloader-expat.c (description_load_from_string): allow -1 for len * tools/dbus-viewer.c: add support for introspecting a service on a bus * glib/dbus-gproxy.c (dbus_g_pending_call_ref): add (dbus_g_pending_call_unref): add glib/dbus-gidl.c | 14 ++++++++++ glib/dbus-gidl.h | 3 +++ glib/dbus-gloader-expat.c | 4 +++ glib/dbus-gobject.c | 16 +++++++----- glib/dbus-gproxy.c | 62 ++++++++++++++++++++++++++++++++++++++++----- glib/dbus-gutils.c | 20 ++++++++++----- 6 files changed, 98 insertions(+), 21 deletions(-) commit 3593b814632b482b541ccf3adb2b31887028b234 Author: Havoc Pennington Date: 2005-01-29 20:12:21 +0000 2005-01-29 Havoc Pennington * tools/dbus-tree-view.c: add support for displaying properties. (run dbus-viewer with an introspect xml file as arg, then resize the window so the tree elements show up, not sure what that is) * glib/dbus-gobject.c (handle_introspect): return org.freedesktop.Properties and org.freedesktop.Introspectable interfaces when we are introspected. * doc/dbus-specification.xml: allow empty interface name when Get/Set a property glib/dbus-gobject.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) commit 426cf6b944282d16db0d88b230627793df52f1ad Author: Havoc Pennington Date: 2005-01-29 19:52:19 +0000 2005-01-29 Havoc Pennington * glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool; though it uses glib, it could be extended for any binding in principle * glib/dbus-gobject.c (gobject_message_function): change to the new way properties work * dbus/dbus-protocol.h: add the new interfaces * doc/dbus-specification.xml: document the introspection format, Introspectable interface, and add an org.freedesktop.Properties interface. * glib/dbus-gparser.c: add support for a element * glib/dbus-gidl.c: add PropertyInfo * glib/dbus-gobject.c (handle_introspect): put the outermost outside the signal and property descriptions. (introspect_properties): export properties as rather than as method calls glib/.cvsignore | 2 +- glib/Makefile.am | 6 +- glib/dbus-gidl.c | 100 +++++++++++++++++++++++++- glib/dbus-gidl.h | 112 ++++++++++++++++------------- glib/dbus-glib-tool.c | 31 ++++++-- glib/dbus-gobject.c | 104 ++++++++++++++++++--------- glib/dbus-gparser.c | 190 +++++++++++++++++++++++++++++++++++++++++++++---- 7 files changed, 434 insertions(+), 111 deletions(-) commit 54c56014a0d2dab88f1fa3bd17a7c1fd2768c4e9 Author: Havoc Pennington Date: 2005-01-28 03:06:55 +0000 2005-01-27 Havoc Pennington * dbus/dbus-arch-deps.h.in: add 16/32-bit types * configure.in: find the right type for 16 and 32 bit ints as well as 64 * dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add the 16-bit types so people don't have to stuff them in 32-bit or byte arrays. glib/dbus-gparser.c | 4 ++++ glib/dbus-gutils.c | 4 ++++ glib/dbus-gvalue.c | 29 +++++++++++++++++++++++------ 3 files changed, 31 insertions(+), 6 deletions(-) commit 459e046b1ca4bdd06d85458fd4f213354833d1ed Author: Havoc Pennington Date: 2005-01-21 05:06:10 +0000 2005-01-21 Havoc Pennington * glib/dbus-gmain.c: don't put the GLib bindings in the same toplevel doxygen group as the low-level API stuff * dbus/dbus.h: note that libdbus is the low-level API glib/dbus-gmain.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) commit 8cecb5bad77434129fc751c2ace45c389f46ef0d Author: Havoc Pennington Date: 2005-01-18 20:42:15 +0000 2005-01-18 Havoc Pennington * Throughout, grand renaming to strip out the use of "service", just say "name" instead (or "bus name" when ambiguous). Did not change the internal code of the message bus itself, only the programmer-facing API and messages. * doc/dbus-specification.xml: further update the message bus section * bus/config-parser.c (all_are_equiv): fix bug using freed string in error case glib/dbus-gproxy.c | 171 +++++++++++++++++++++++++++------------------------- 1 file changed, 88 insertions(+), 83 deletions(-) commit 40c882bcb60faeee24e3e887f3503e9ecb878166 Author: Havoc Pennington Date: 2005-01-17 19:49:52 +0000 2005-01-17 Havoc Pennington * dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits * Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead of an 8-bit type. Now dbus_bool_t is the type to use whenever you are marshaling/unmarshaling a boolean. glib/dbus-gvalue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit c8c3d8a243f6b284b3aa46352afb9fb913f09f78 Author: Havoc Pennington Date: 2005-01-16 15:51:55 +0000 2005-01-16 Havoc Pennington * Add and fix docs according to Doxygen warnings throughout source. * dbus/dbus-marshal-recursive.c (_dbus_type_reader_array_is_empty): change this to just call array_reader_get_array_len() and make it static * dbus/dbus-message.c (dbus_message_iter_get_element_type): rename from get_array_type (dbus_message_iter_init_append): rename from append_iter_init * dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_element_type): rename from _dbus_type_reader_get_array_type glib/dbus-glib.c | 2 +- glib/dbus-gobject.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit e116119209a507a5ba305e890f897d31e5b626e1 Author: Havoc Pennington Date: 2005-01-15 07:15:38 +0000 2005-01-15 Havoc Pennington * 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 glib/dbus-gobject.c | 2 +- glib/dbus-gproxy.c | 7 +- glib/dbus-gutils.c | 24 ++++--- glib/dbus-gvalue.c | 186 ++++++++++++++++++++++++++++++++++++++------------- 4 files changed, 156 insertions(+), 63 deletions(-) commit 62f29fd0fea8e1eaa3e61db44ddd1eeba765f153 Author: Havoc Pennington Date: 2004-11-13 07:07:46 +0000 2004-11-13 Havoc Pennington * test/glib/test-profile.c: fix this thing up a bit * dbus/dbus-message.c (dbus_message_new_empty_header): increase preallocation sizes by a fair bit; not sure if this will be an overall performance win or not, but it does reduce reallocs. * dbus/dbus-string.c (set_length, reallocate_for_length): ignore the test hack that forced constant realloc if asserts are disabled, so we can profile sanely. Sprinkle in some _DBUS_UNLIKELY() which are probably pointless, but before I noticed the real performance problem I put them in. (_dbus_string_validate_utf8): micro-optimize this thing a little bit, though callgrind says it didn't help; then special-case ascii, which did help a lot; then be sure we detect nul bytes as invalid, which is a bugfix. (align_length_then_lengthen): add some more _DBUS_UNLIKELY superstition; use memset to nul the padding instead of a manual loop. (_dbus_string_get_length): inline this as a macro; it showed up in the profile because it's used for loop tests and so forth glib/dbus-gmain.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0ab857b2916731f92be856c6821d5c9950716f89 Author: Olivier Andrieu Date: 2004-10-07 09:56:01 +0000 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect format string. * glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL pointer (bug #1540, Leonardo Boiko). glib/dbus-gmain.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) commit 4b50c510605d5dda629c9d493a61611bb382a55d Author: Havoc Pennington Date: 2004-08-10 03:06:59 +0000 2004-08-09 Havoc Pennington * COPYING: switch to Academic Free License version 2.1 instead of 2.0, to resolve complaints about patent termination clause. glib/dbus-gidl.c | 2 +- glib/dbus-gidl.h | 2 +- glib/dbus-glib-tool.c | 2 +- glib/dbus-glib.c | 2 +- glib/dbus-gloader-expat.c | 2 +- glib/dbus-gmain.c | 2 +- glib/dbus-gobject.c | 2 +- glib/dbus-gparser.c | 2 +- glib/dbus-gparser.h | 2 +- glib/dbus-gproxy.c | 4 ++-- glib/dbus-gtest-main.c | 2 +- glib/dbus-gtest.c | 2 +- glib/dbus-gtest.h | 2 +- glib/dbus-gthread.c | 2 +- glib/dbus-gtool-test.h | 2 +- glib/dbus-gutils.c | 2 +- glib/dbus-gutils.h | 2 +- 17 files changed, 18 insertions(+), 18 deletions(-) commit 301a3547a2efd9784fa3ab253373fa689c9bd1c3 Author: Olivier Andrieu Date: 2004-07-29 08:00:45 +0000 * bus/config-loader-libxml.c: complete the implementation of libxml backend for config file loader. Doesn't work with full OOM test yet. * configure.in: change error when selecting libxml into a warning. * test/data/invalid-config-files: add two non-well-formed XML files. * glib/Makefile.am: libdbus_gtool always uses expat, not libxml. * dbus/dbus-transport-unix.c (unix_handle_watch): do not disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may be necessary to read all the buffer. (bug #894) * bus/activation.c (bus_activation_activate_service): fix a potential assertion failure (bug #896). Small optimization in the case of auto-activation messages. * dbus/dbus-message.c (verify_test_message, _dbus_message_test): add test case for byte-through-vararg bug (#901). patch by Kimmo Hämäläinen. glib/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ef7e145899ce58a5df564127783f014d8bed233f Author: Havoc Pennington Date: 2004-06-20 15:28:14 +0000 2004-06-20 Havoc Pennington * dbus/dbus-glib-error-enum.h: autogenerate the GError enum codes from the dbus error names * glib/dbus-glib.h: move to subdir dbus/ since it's included as dbus/dbus-glib.h and that breakage is now visible due to including dbus/dbus-glib.h in dbus-glib-lowlevel.h * glib/dbus-glib.h: s/gproxy/g_proxy/ * dbus/dbus-shared.h: new header to hold stuff shared with binding APIs * dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather than dbus-errors.h * glib/dbus-glib.h (dbus_set_g_error): move to dbus-glib-lowlevel.h * glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch of stuff to enable this * dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here * a bunch of other changes with the same basic "separate glib bindings from dbus.h" theme glib/Makefile.am | 6 +- glib/dbus-gidl.c | 2 +- glib/dbus-glib-tool.c | 2 +- glib/dbus-glib.c | 67 ++++++++++++++ glib/dbus-glib.h | 159 -------------------------------- glib/dbus-gmain.c | 121 ++++++++++++++++++++++-- glib/dbus-gobject.c | 17 ++-- glib/dbus-gproxy.c | 237 +++++++++++++++++++++++++----------------------- glib/dbus-gtest.c | 4 + glib/dbus-gtest.h | 9 +- glib/dbus-gthread.c | 3 +- glib/dbus-gtool-test.h | 4 +- glib/dbus-gutils.c | 2 +- glib/dbus-gutils.h | 15 +++ 14 files changed, 342 insertions(+), 306 deletions(-) commit 9426e419227a721a8b7b04661ec133cb93c389e5 Author: Olivier Andrieu Date: 2004-06-05 16:32:00 +0000 2004-06-05 Olivier Andrieu * dbus/dbus-connection.h, dbus/dbus-connection.c: have object path registration functions take the path argument as char* instead of char**. * dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path): split off the path decompostion part of _dbus_demarshal_object_path. Some misc. fixes to silence compiler warnings. * glib/dbus-gobject.c, test/test-service.c: update accordingly. glib/dbus-gobject.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) commit b2a4e237f907acd5127f85d0e2110b32d8a7ea86 Author: Kristian Hogsberg Date: 2004-06-02 13:13:14 +0000 2004-06-02 Kristian Hÿÿgsberg * glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c, dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to quiet doxygen. * Doxyfile.in: remove deprecated options. * dbus/dbus-message-handler.c, dbus/dbus-message-handler.h, glib/test-thread.h, glib/test-thread-client.c, glib/test-thread-server.c, glib/test-profile.c, glib/test-dbus-glib.c: remove these unused files. glib/dbus-gmain.c | 12 ++- glib/dbus-gproxy.c | 32 +++++- glib/test-dbus-glib.c | 50 --------- glib/test-profile.c | 223 ---------------------------------------- glib/test-thread-client.c | 95 ----------------- glib/test-thread-server.c | 248 --------------------------------------------- glib/test-thread.h | 1 - 7 files changed, 36 insertions(+), 625 deletions(-) commit 05a2332400f9e23d84e7376b9908f19a59868d5d Author: Havoc Pennington Date: 2004-06-01 03:02:26 +0000 2004-05-31 Havoc Pennington * glib/dbus-gidl.c (method_info_add_arg): keep args sorted with "in" before "out" * glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c * glib/dbus-glib-tool.c (main): set up to have a --self-test option that runs the tests, and start filling in some code including for starters just dumping the interfaces to stdout * glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR * test/data/valid-introspection-files/lots-of-types.xml: test of an example introspection file * glib/dbus-gparser.c (parser_check_doctype): doctype should be "node" (I think...) glib/Makefile.am | 9 +- glib/dbus-gidl.c | 25 +++++ glib/dbus-glib-tool.c | 280 ++++++++++++++++++++++++++++++++++++++++++++++--- glib/dbus-glib.h | 5 +- glib/dbus-gobject.c | 36 +------ glib/dbus-gparser.c | 4 +- glib/dbus-gutils.c | 34 ++++++ glib/dbus-gutils.h | 4 +- 8 files changed, 338 insertions(+), 59 deletions(-) commit c02ba470d7a212d7c51777c467eae808dd954f2f Author: Havoc Pennington Date: 2004-05-28 22:30:04 +0000 2004-05-28 Havoc Pennington * test/glib/test-service-glib.c (main): remove unused variable * glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning * dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES from the enum, no longer in use. * dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually works right. * dbus/dbus-message.c: add various _dbus_return_val_if_fail for whether error_name passed in is a valid error name. glib/dbus-gidl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1400b16528f4d0d8f6a60b199e5799eadb0ff0ea Author: Michael Meeks Date: 2004-05-28 13:10:35 +0000 2004-05-28 Michael Meeks * glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal): fix no int64 case. * dbus/dbus-string.c (_dbus_string_parse_basic_type): impl. * dbus/dbus-message.c (_dbus_message_iter_get_basic_type), (_dbus_message_iter_get_basic_type_array): impl. drastically simplify ~all relevant _get methods to use these. (_dbus_message_iter_append_basic_array), (dbus_message_iter_append_basic): impl drastically simplify ~all relevant _append methods to use these. * dbus/dbus-message-builder.c (parse_basic_type) (parse_basic_array, lookup_basic_type): impl. (_dbus_message_data_load): prune scads of duplicate / cut & paste coding. * dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array) (_dbus_demarshal_basic_type): implement, (demarshal_and_validate_len/arg): beef up debug. (_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl. glib/dbus-gvalue.c | 4 ++++ 1 file changed, 4 insertions(+) commit 7866137fa3b028e7a8e22f03998754c0967e1501 Author: Olivier Andrieu Date: 2004-04-15 22:08:04 +0000 2004-04-15 Olivier Andrieu * bus/driver.c (bus_driver_handle_get_service_owner): implement a GetServiceOwner method. * doc/dbus-specification.xml: document it. * dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error. * glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner): implement, using the bus GetServiceOwner method. * test/glib/test-dbus-glib.c: use dbus_gproxy_new_for_service_owner so that we can receive the signal. glib/dbus-gproxy.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) commit e03a715a21237d70233d40a393958ec7d3d4027d Author: Michael Meeks Date: 2004-04-13 11:47:17 +0000 2004-04-13 Michael Meeks * glib/dbus-gobject.c (handle_introspect): split out (introspect_properties): this. (handle_introspect): implement this. glib/dbus-gobject.c | 123 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 82 insertions(+), 41 deletions(-) commit e7e5d9377e54b9d26a59402197d26bb575c15976 Author: Michael Meeks Date: 2004-03-29 13:24:50 +0000 2004-03-29 Michael Meeks * glib/dbus-gobject.c (set_object_property): split out / re-work, use the property type, and not the message type(!) (get_object_property): ditto. * glib/dbus-gvalue.c (dbus_gvalue_demarshal), (dbus_gvalue_marshal): make this code re-usable, needed for signals too, also on both proxy and server side. Re-write for more efficiency / readability. glib/Makefile.am | 4 +- glib/dbus-gobject.c | 187 +++------------------------------------------------ glib/dbus-gvalue.c | 115 +++++++++++++++++++++++++++++++ glib/dbus-gvalue.h | 16 +++++ 4 files changed, 142 insertions(+), 180 deletions(-) commit 82d9c846687c428fde8e517ca38d69642de9a66a Author: Richard Hult Date: 2003-12-02 10:44:21 +0000 2003-12-02 Richard Hult * Update AFL version to 2.0 throughout the source files to reflect the update that was done a while ago. glib/dbus-gidl.c | 2 +- glib/dbus-gidl.h | 2 +- glib/dbus-glib-tool.c | 2 +- glib/dbus-glib.h | 2 +- glib/dbus-gloader-expat.c | 2 +- glib/dbus-gmain.c | 2 +- glib/dbus-gobject.c | 2 +- glib/dbus-gparser.c | 2 +- glib/dbus-gparser.h | 2 +- glib/dbus-gproxy.c | 2 +- glib/dbus-gtest-main.c | 2 +- glib/dbus-gtest.c | 2 +- glib/dbus-gtest.h | 2 +- glib/dbus-gthread.c | 2 +- glib/dbus-gtool-test.h | 2 +- glib/dbus-gutils.c | 2 +- glib/dbus-gutils.h | 2 +- glib/test-profile.c | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) commit 64858892747bea931226f39dad9e063475bf3c89 Author: Mikael Hallendal Date: 2003-11-27 01:25:49 +0000 2003-11-26 Mikael Hallendal * bus/*.[ch]: * dbus/*.[ch]: * glib/*.[ch]: Made ref functions return the pointer glib/dbus-gidl.c | 24 ++++++++++++++++++------ glib/dbus-gidl.h | 12 ++++++------ glib/dbus-gmain.c | 4 +++- glib/dbus-gparser.c | 4 +++- glib/dbus-gparser.h | 2 +- glib/dbus-gproxy.c | 6 ++++-- 6 files changed, 35 insertions(+), 17 deletions(-) commit f130073ef0a107d0b57695720f5a94d0e17ce38f Author: Havoc Pennington Date: 2003-10-21 05:46:51 +0000 2003-10-20 Havoc Pennington hmm, make check is currently not passing. * doc/dbus-specification.xml: add requirement that custom type names follow the same rules as interface names. * dbus/dbus-protocol.h: change some of the byte codes, to avoid duplication and allow 'c' to be 'custom'; dict is now 'm' for 'map' * doc/dbus-specification.xml: update type codes to match dbus-protocol.h, using the ASCII byte values. Rename type NAMED to CUSTOM. Add type OBJECT_PATH to the spec. 2003-10-17 Havoc Pennington * bus/driver.c (create_unique_client_name): use "." as separator in base service names instead of '-' * dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul byte at the end of the string * dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add optimization macros since string validation seems to be a slow point. * doc/dbus-specification.xml: restrict valid service/interface/member/error names. Add test suite code for the name validation. * dbus/dbus-string.c: limit service/interface/member/error names to [0-9][A-Z][a-z]_ * dbus/dbus-connection.c (dbus_connection_dispatch): add missing format arg to verbose spew * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of memory, return instead of g_error * test/test-service.c (path_message_func): support emitting a signal on request * dbus/dbus-bus.c (init_connections_unlocked): only fill in activation bus type if DBUS_BUS_ACTIVATION was set; default to assuming the activation bus was the session bus so that services started manually will still register. (init_connections_unlocked): fix so that in OOM situation we get the same semantics when retrying the function * test/test-service.c (main): change to use path registration, to test those codepaths; register with DBUS_BUS_ACTIVATION rather than DBUS_BUS_SESSION glib/dbus-gobject.c | 4 ++-- glib/dbus-gproxy.c | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) commit 756f88a96232ae730faca81feeb30fcd07458df9 Author: Havoc Pennington Date: 2003-10-17 16:23:19 +0000 2003-10-16 Havoc Pennington * glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS * Makefile.am (GCOV_DIRS): remove "test", we don't care about test coverage of the tests (coverage-report.txt): don't move the .da and .bbg files around glib/dbus-gtest-main.c | 5 +++++ 1 file changed, 5 insertions(+) commit aa0c367ff5214ddbb2578e5b290cfae6aa472a0d Author: Havoc Pennington Date: 2003-10-16 06:34:50 +0000 2003-10-16 Havoc Pennington * bus/connection.c (bus_pending_reply_expired): either cancel or execute, not both (bus_connections_check_reply): use unlink, not remove_link, as we don't want to free the link; fixes double free mess * dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case where no reply was received * dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock): fix a refcount leak * bus/signals.c (match_rule_matches): add special cases for the bus driver, so you can match on sender/destination for it. * dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if DBUS_PRINT_BACKTRACE is set * dbus/dbus-internals.c: add pid to assertion failure messages * dbus/dbus-connection.c: add message type code to the debug spew * glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want sender=foo not service=foo * dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use DBUS_ACTIVATION_ADDRESS instead * bus/activation.c: set DBUS_SESSION_BUS_ADDRESS, DBUS_SYSTEM_BUS_ADDRESS if appropriate * bus/bus.c (bus_context_new): handle OOM copying bus type into context struct * dbus/dbus-message.c (dbus_message_iter_get_object_path): new function (dbus_message_iter_get_object_path_array): new function (half finished, disabled for the moment) * glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle DBUS_MESSAGE_TYPE_ERROR * tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to avoid redirecting stderr to /dev/null (babysit): close stdin if not doing the "exit_with_session" thing * dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not stdout/stdin, so things don't get confused * bus/system.conf.in: fix to allow replies, I modified .conf instead of .conf.in again. glib/dbus-gproxy.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) commit 33689cc9f76ff14f77ba9b9d6e17094991fc2ba1 Author: Havoc Pennington Date: 2003-10-12 05:59:39 +0000 2003-10-12 Havoc Pennington Added test code that 1) starts an actual bus daemon and 2) uses DBusGProxy; fixed bugs that were revealed by the test. Lots more testing possible, but this is the basic framework. * glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove empty proxy lists from the proxy list hash * dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a couple of return_if_fail checks * dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0 to allocate, so everything is cleared to NULL as it should be. * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass source as data to dbus_connection_set_timeout_functions() as the timeout functions expected * test/glib/run-test.sh: add a little script to start up a message bus and run tests using it * tools/dbus-launch.1: updates * tools/dbus-launch.c (main): add --config-file option * tools/dbus-launch.c (main): remove confusing else if (runprog) that could never be reached. * dbus/dbus-message.c (dbus_message_new_method_return) (dbus_message_new_error, dbus_message_new_signal): set the no-reply-expected flag on all these. Redundant, but may as well be consistent. glib/dbus-gmain.c | 2 +- glib/dbus-gproxy.c | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) commit 6741526f3dedd835d9f0d7ae4beaa097016b0b9e Author: Havoc Pennington Date: 2003-10-03 03:55:35 +0000 2003-10-02 Havoc Pennington * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from dbus_gproxy_oneway_call * glib/dbus-gmain.c (dbus_connection_setup_with_g_main) (dbus_server_setup_with_g_main): fix to allow calling them more than once on the same args (dbus_bus_get_with_g_main): new function glib/dbus-glib.h | 14 ++++---- glib/dbus-gmain.c | 99 ++++++++++++++++++++++++++++++++++++++++++++-------- glib/dbus-gproxy.c | 8 ++--- 3 files changed, 97 insertions(+), 24 deletions(-) commit b05fc993d8d813ca93fa2c49e4c8b7345613c8e0 Author: Havoc Pennington Date: 2003-09-30 02:32:48 +0000 2003-09-29 Havoc Pennington * Merge dbus-object-names branch. To see the entire patch do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names, it's huuuuge though. To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE. 2003-09-28 Havoc Pennington * HACKING: update to reflect new server 2003-09-26 Seth Nickell * python/dbus.py: * python/examples/example-signals.py: Start implementing some notions of signals. The API is really terrible, but they sort of work (with the exception of being able to filter by service, and to transmit signals *as* a particular service). Need to figure out how to make messages come from the service we registered :-( * python/dbus_bindings.pyx.in: Removed duplicate message_handler callbacks. 2003-09-25 Havoc Pennington * bus/session.conf.in: fix my mess 2003-09-25 Havoc Pennington * bus/session.conf.in: fix security policy, reported by Seth Nickell 2003-09-25 Seth Nickell * python/examples/example-service.py: Johan notices complete wrong code in example-service, but completely wrong in a way that works exactly the same (!). Johan is confused, how could this possibly work? Example code fails to serve purpose of making things clear. Seth fixes. 2003-09-25 Mark McLoughlin * doc/dbus-specification.sgml: don't require header fields to be 4-byte aligned and specify that fields should be distinguished from padding by the fact that zero is not a valid field name. * doc/TODO: remove re-alignment item and add item to doc the OBJECT_PATH type. * dbus/dbus-message.c: (HeaderField): rename the original member to value_offset and introduce a name_offset member to keep track of where the field actually begins. (adjust_field_offsets): remove. (append_int_field), (append_uint_field), (append_string_field): don't align the start of the header field to a 4-byte boundary. (get_next_field): impl finding the next marhsalled field after a given field. (re_align_field_recurse): impl re-aligning a number of already marshalled fields. (delete_field): impl deleting a field of any type and re-aligning any following fields. (delete_int_or_uint_field), (delete_string_field): remove. (set_int_field), (set_uint_field): no need to re-check that we have the correct type for the field. (set_string_field): ditto and impl re-aligning any following fields. (decode_header_data): update to take into account that the fields aren't 4-byte aligned any more and the new way to distinguish padding from header fields. Also, don't exit when there is too much header padding. (process_test_subdir): print the directory. (_dbus_message_test): add test to make sure a following field is re-aligned correctly after field deletion. * dbus/dbus-string.[ch]: (_dbus_string_insert_bytes): rename from insert_byte and allow the insert of multiple bytes. (_dbus_string_test): test inserting multiple bytes. * dbus/dbus-marshal.c: (_dbus_marshal_set_string): add warning note to docs about having to re-align any marshalled values following the string. * dbus/dbus-message-builder.c: (append_string_field), (_dbus_message_data_load): don't align the header field. * dbus/dbus-auth.c: (process_test_subdir): print the directory. * test/break-loader.c: (randomly_add_one_byte): upd. for insert_byte change. * test/data/invalid-messages/bad-header-field-alignment.message: new test case. * test/data/valid-messages/unknown-header-field.message: shove a dict in the unknown field. 2003-09-25 Seth Nickell * python/dbus.py: * python/dbus_bindings.pyx.in: Handle return values. * python/examples/example-client.py: * python/examples/example-service.py: Pass back return values from the service to the client. 2003-09-24 Seth Nickell * python/dbus.py: Connect Object methods (when you are sharing an object) up... pass in a list of methods to be shared. Sharing all the methods just worked out too weird. You can now create nice Services over the DBus in Python. :-) * python/dbus_bindings.pyx.in: Keep references to user_data tuples passed into C functions so Python doesn't garbage collect on us. Implement MethodReturn and Error subclasses of Message for creating DBusMessage's of those types. * python/examples/example-client.py: * python/examples/example-service.py: Simple example code showing both how create DBus services and objects, and how to use them. 2003-09-23 Havoc Pennington * glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement 2003-09-23 Havoc Pennington * glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement (dbus_gproxy_disconnect_signal): implement (dbus_gproxy_manager_remove_signal_match): implement (dbus_gproxy_manager_add_signal_match): implement (dbus_gproxy_oneway_call): implement 2003-09-23 Havoc Pennington * glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject subclass. This means dropping the transparent thread safety of the proxy; you now need a separate proxy per-thread, or your own locking on the proxy. Probably right anyway. (dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref 2003-09-22 Havoc Pennington * glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement 2003-09-21 Seth Nickell First checkin of the Python bindings. * python/.cvsignore: * python/Makefile.am: * python/dbus_bindings.pyx.in: * python/dbus_h_wrapper.h: Pieces for Pyrex to operate on, building a dbus_bindings.so python module for low-level access to the DBus APIs. * python/dbus.py: High-level Python module for accessing DBus objects. * configure.in: * Makefile.am: Build stuff for the python bindings. * acinclude.m4: Extra macro needed for finding the Python C header files. 2003-09-21 Havoc Pennington * glib/dbus-gproxy.c (dbus_gproxy_manager_new): start implementing the proxy manager, didn't get very far. * dbus/dbus-bus.c (dbus_bus_add_match): new (dbus_bus_remove_match): new * glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a path_name argument; adjust the other not-yet-implemented gproxy constructors to be what I think they should be. 2003-09-21 Havoc Pennington * dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE by default for message bus connections. * dbus/dbus-connection.c (dbus_connection_dispatch): exit if exit_on_disconnect flag is set and we process the disconnected signal. (dbus_connection_set_exit_on_disconnect): new function 2003-09-21 Havoc Pennington Get matching rules mostly working in the bus; only actually parsing the rule text remains. However, the client side of "signal connections" hasn't been started, this patch is only the bus side. * dbus/dispatch.c: fix for the matching rules changes * bus/driver.c (bus_driver_handle_remove_match) (bus_driver_handle_add_match): send an ack reply from these method calls * glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of arguments, reported by Seth Nickell * bus/config-parser.c (append_rule_from_element): support eavesdrop=true|false attribute on policies so match rules can be prevented from snooping on the system bus. * bus/dbus-daemon-1.1.in: consistently use terminology "sender" and "destination" in attribute names; fix some docs bugs; add eavesdrop=true|false attribute * bus/driver.c (bus_driver_handle_add_match) (bus_driver_handle_remove_match): handle AddMatch, RemoveMatch messages * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get rid of broadcast service concept, signals are just always broadcast * bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c: mostly implement matching rules stuff (currently only exposed as signal connections) 2003-09-21 Mark McLoughlin * doc/dbus-specification.sgml: Change the header field name to be an enum and update the rest of the spec to reference the fields using the conventinal name. * dbus/dbus-protocol.h: update to reflect the spec. * doc/TODO: add item to remove the 4 byte alignment requirement. * dbus/dbus-message.c: Remove the code to generalise the header/body length and serial number header fields as named header fields so we can reference field names using the protocol values. (append_int_field), (append_uint_field), (append_string_field): Append the field name as a byte rather than four chars. (delete_int_or_uint_field), (delete_string_field): reflect the fact that the field name and typecode now occupy 4 bytes instead of 8. (decode_string_field), (decode_header_data): update to reflect protocol changes and move the field specific encoding from decode_string_field() back into decode_header_data(). * dbus/dbus-internals.[ch]: (_dbus_header_field_to_string): Add utility to aid debugging. * dbus/dbus-message-builder.c: (append_string_field), (_dbus_message_data_load): Update to reflect protocol changes; Change the FIELD_NAME directive to HEADER_FIELD and allow it to take the field's conventional name rather than the actual value. * test/data/*/*.message: Update to use HEADER_FIELD instead of FIELD_NAME; Always align the header on an 8 byte boundary *before* updating the header length. 2003-09-15 Havoc Pennington * dbus/dbus-pending-call.c: add the get/set object data boilerplate as for DBusConnection, etc. Use generic object data for the notify callback. * glib/dbus-gparser.c (parse_node): parse child nodes * tools/dbus-viewer.c: more hacking on the dbus-viewer * glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to contain functions shared between the convenience lib and the installed lib * glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add -export-symbols-regex to the GLib library * dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock): fix the locking in here, and add a default handler for Introspect() that just returns sub-nodes. 2003-09-14 Havoc Pennington * glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo rather than gfoo consistent * glib/dbus-gproxy.h: delete for now, move contents to dbus-glib.h, because the include files don't work right since we aren't in the dbus/ subdir. * glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing (dbus_gproxy_end_call): finish (dbus_gproxy_begin_call): finish * glib/dbus-gmain.c (dbus_set_g_error): new * glib/dbus-gobject.c (handle_introspect): include information about child nodes in the introspection * dbus/dbus-connection.c (dbus_connection_list_registered): new function to help in implementation of introspection * dbus/dbus-object-tree.c (_dbus_object_tree_list_registered_and_unlock): new function 2003-09-12 Havoc Pennington * glib/dbus-gidl.h: add common base class for all the foo_info types * tools/dbus-viewer.c: add GTK-based introspection UI thingy similar to kdcop * test/Makefile.am: try test srcdir -ef . in addition to test srcdir = ., one of them should work (yeah lame) * glib/Makefile.am: build the "idl" parser stuff as a convenience library * glib/dbus-gparser.h: make description_load routines return NodeInfo* not Parser* * Makefile.am (SUBDIRS): build test dir after all library dirs * configure.in: add GTK+ detection 2003-09-07 Havoc Pennington * Make Doxygen contented. 2003-09-07 Havoc Pennington * doc/dbus-specification.sgml: more updates 2003-09-06 Havoc Pennington * doc/dbus-specification.sgml: partial updates * bus/dbus-daemon-1.1.in: fix the config file docs for the zillionth time; hopefully I edited the right file this time. * bus/config-parser.c (append_rule_from_element): support send_type, send_path, receive_type, receive_path * bus/policy.c: add message type and path to the list of things that can be "firewalled" 2003-09-06 Havoc Pennington * dbus/dbus-connection.c (dbus_connection_register_fallback): add this (dbus_connection_register_object_path): make this not handle messages to paths below the given path 2003-09-03 Havoc Pennington * test/glib/Makefile.am: add this with random glib-linked test programs * glib/Makefile.am: remove the random test programs from here, leave only the unit tests * glib/dbus-gobject.c (_dbus_gobject_test): add test for uscore/javacaps conversion, and fix (get_object_property, set_object_property): change to .NET convention for mapping props to methods, set_FooBar/get_FooBar, since one language has such a convention we may as well copy it. Plus real methods in either getFooBar or get_foo_bar style won't collide with this convention. 2003-09-01 Havoc Pennington * glib/dbus-gparser.c: implement * glib/dbus-gobject.c: start implementing skeletons support * configure.in: when disabling checks/assert, also define G_DISABLE_ASSERT and G_DISABLE_CHECKS 2003-09-01 Havoc Pennington * glib/Makefile.am: rearrange a bunch of files and get "make check" framework set up 2003-08-31 Havoc Pennington * fix build with --disable-tests 2003-08-30 Havoc Pennington * dbus/dbus-connection.c: purge DBusMessageHandler * dbus/dbus-message-handler.c: remove DBusMessageHandler, just use callbacks everywhere 2003-08-30 Havoc Pennington * test/data/valid-config-files/system.d/test.conf: change to root for the user so warnings don't get printed * dbus/dbus-message.c: add dbus_message_get_path, dbus_message_set_path * dbus/dbus-object-tree.c (do_test_dispatch): add test of dispatching to a path * dbus/dbus-string.c (_dbus_string_validate_path): add * dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement (_dbus_marshal_object_path): implement * dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field to contain the path to the target object (DBUS_HEADER_FIELD_SENDER_SERVICE): rename DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service 2003-08-30 Havoc Pennington * dbus/dbus-object-tree.c: write tests and fix the discovered bugs 2003-08-29 Havoc Pennington * dbus/dbus-object-tree.c: modify to allow overlapping paths to be registered (struct DBusObjectSubtree): shrink this a lot, since we may have a lot of them (_dbus_object_tree_free_all_unlocked): implement (_dbus_object_tree_dispatch_and_unlock): implement 2003-08-29 Havoc Pennington * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS 2003-08-28 Havoc Pennington purge DBusObjectID * dbus/dbus-connection.c: port to no ObjectID, create a DBusObjectTree, rename ObjectTree to ObjectPath in public API * dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete everything except UnregisterFunction and MessageFunction * dbus/dbus-marshal.c: port away from DBusObjectID, add DBUS_TYPE_OBJECT_PATH * dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc], dbus/dbus-objectid.[hc]: remove these, we are moving to path-based object IDs 2003-08-25 Havoc Pennington Just noticed that dbus_message_test is hosed, I wonder when I broke that. I thought make check was passing earlier... * dbus/dbus-object-tree.c: add new "object tree" to match DCOP container tree, will replace most of dbus-object-registry * dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99 screwup 2003-08-19 Havoc Pennington * dbus/dbus-message.c (decode_string_field): support FIELD_SENDER (dbus_message_is_error): fix this function * bus/dbus-daemon-1.1: clarify logic on when / rules match * bus/policy.c (bus_client_policy_check_can_receive): fix code to reflect clarified man page (bus_client_policy_check_can_send): ditto * bus/session.conf.in: fixup * bus/system.conf.in: fixup 2003-08-18 Havoc Pennington * dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix ... glib/.cvsignore | 6 +- glib/Makefile.am | 70 ++- glib/dbus-gidl.c | 524 +++++++++++++++++++ glib/dbus-gidl.h | 120 +++++ glib/dbus-glib-tool.c | 77 +++ glib/dbus-glib.h | 121 ++++- glib/dbus-gloader-expat.c | 262 ++++++++++ glib/dbus-gmain.c | 100 +++- glib/dbus-gobject.c | 790 ++++++++++++++++++++++++++++ glib/dbus-gparser.c | 670 ++++++++++++++++++++++++ glib/dbus-gparser.h | 65 +++ glib/dbus-gproxy.c | 1249 +++++++++++++++++++++++++++++++++++++++++++++ glib/dbus-gtest-main.c | 46 ++ glib/dbus-gtest.c | 77 +++ glib/dbus-gtest.h | 35 ++ glib/dbus-gthread.c | 2 +- glib/dbus-gtool-test.h | 31 ++ glib/dbus-gutils.c | 96 ++++ glib/dbus-gutils.h | 40 ++ 19 files changed, 4345 insertions(+), 36 deletions(-) commit c6510f49417e04522d9cc6a6c51331bef252aba0 Author: Anders Carlsson Date: 2003-08-05 13:57:20 +0000 2003-08-05 Anders Carlsson * glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref), (watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch), (add_watch), (remove_watch), (create_source): Refcount fds, fixes some reentrancy issues. glib/dbus-gmain.c | 116 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 78 insertions(+), 38 deletions(-) commit a3c695d62bcfc46bd12f4165610649a604ed6166 Author: Havoc Pennington Date: 2003-06-22 19:39:46 +0000 2003-06-22 Havoc Pennington * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref) (_dbus_data_slot_allocator_alloc): rework these to keep a reference count on each slot and automatically manage a global slot ID variable passed in by address * bus/bus.c: convert to new dataslot API * dbus/dbus-bus.c: convert to new dataslot API * dbus/dbus-connection.c: convert to new dataslot API * dbus/dbus-server.c: convert to new dataslot API * glib/dbus-gmain.c: ditto * bus/test.c: ditto * bus/connection.c: ditto glib/dbus-gmain.c | 24 ++++++++++-------------- glib/test-thread-server.c | 5 +++-- 2 files changed, 13 insertions(+), 16 deletions(-) commit 1284fea96df990975632f0a5d8d982ec5c974161 Author: Anders Carlsson Date: 2003-06-19 22:19:56 +0000 2003-06-19 Anders Carlsson * glib/dbus-glib.h: Fix so that dbus-glib.h can be used from C++ (Patch by Miloslav Trmac). glib/dbus-glib.h | 4 ++++ 1 file changed, 4 insertions(+) commit 375ff8ffbed8683c1a46fab9c537ccb9e603e1d7 Author: Anders Carlsson Date: 2003-06-18 10:48:07 +0000 Add .cvsignore files glib/.cvsignore | 1 + 1 file changed, 1 insertion(+) commit b4dd1b2cb3e226ece5055bc2f24ef819db7d1b08 Author: Havoc Pennington Date: 2003-05-17 17:53:16 +0000 2003-05-17 Havoc Pennington * bus/config-parser.c (merge_included): merge in policies from child configuration file. * bus/policy.c (bus_policy_merge): function to merge two policies together glib/test-profile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ae655688473fc5e5d6a279b3e764a713fc73b8ca Author: Havoc Pennington Date: 2003-05-12 02:44:44 +0000 2003-05-11 Havoc Pennington * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid calling _dbus_marshal_validate_arg() for every byte in a byte array, etc. * dbus/dbus-message-handler.c: use atomic reference counting to reduce number of locks slightly; the global lock in here sucks * dbus/dbus-connection.c (_dbus_connection_update_dispatch_status_and_unlock): variant of update_dispatch_status that can be called with lock held; then use in a couple places to reduce locking/unlocking (dbus_connection_send): hold the lock over the whole function instead of acquiring it twice. * dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM * bus/connection.c (bus_connections_setup_connection): fix access to already-freed memory. * dbus/dbus-connection.c: keep a little cache of linked list nodes, to avoid using the global linked list alloc lock in the normal send-message case. Instead we just use the connection lock that we already have to take. * dbus/dbus-list.c (_dbus_list_find_last): new function * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): change to use a struct for the atomic type; fix docs, they return value before increment, not after increment. * dbus/dbus-string.c (_dbus_string_append_4_aligned) (_dbus_string_append_8_aligned): new functions to try to microoptimize this operation. (reallocate_for_length): break this out of set_length(), to improve profile info, and also so we can consider inlining the set_length() part. * dbus/dbus-message.c (dbus_message_new_empty_header): init data strings with some preallocation, cuts down on our calls to realloc a fair bit. Though if we can get the "move entire string to empty string" optimization below to kick in here, it would be better. * dbus/dbus-string.c (_dbus_string_move): just call _dbus_string_move_len (_dbus_string_move_len): add a special case for moving an entire string into an empty string; we can just swap the string data instead of doing any reallocs. (_dbus_string_init_preallocated): new function glib/test-profile.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit b36dd8b35d932d01407b88e948c5196b49e31aa0 Author: Havoc Pennington Date: 2003-05-11 07:59:08 +0000 2003-05-11 Havoc Pennington Write a "test-profile" that does echo client-server with threads; profile reveals lock contention, memcpy/realloc of buffers, and UTF-8 validation as hot spots. 20% of lock contention eliminated with dbus_atomic_inc/dec implementation on x86. Much remaining contention is global mempool locks for GList and DBusList. * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add x86 implementation * dbus/dbus-connection.c (struct DBusConnection): use dbus_atomic_t for the reference count * dbus/dbus-message.c (struct DBusMessage): declare dbus_atomic_t values as volatile * configure.in: code to detect ability to use atomic integer operations in assembly, from GLib patch * dbus/dbus-internals.c (_dbus_verbose_real): call getpid every time, tired of it being wrong in threads and forked processes * glib/test-profile.c: a little program to bounce messages back and forth between threads and eat CPU * dbus/dbus-connection.c: add debug spew macros for debugging thread locks; include config.h at top; fix deadlock in dbus_connection_flush() glib/Makefile.am | 33 +++++--- glib/test-profile.c | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 237 insertions(+), 11 deletions(-) commit 6f4b867ddd6cef070d65149a4d935b4a964987f1 Author: Havoc Pennington Date: 2003-04-29 22:57:13 +0000 2003-04-29 Havoc Pennington * glib/dbus-gmain.c: docs cleanups * dbus/dbus-types.h: add docs on int64 types * dbus/dbus-memory.c: fix docs to avoid putting private API in public API docs section glib/dbus-gmain.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit 7d22e9a86a21e337a31ee42ccdb851ada88c0b40 Author: Havoc Pennington Date: 2003-04-25 20:41:49 +0000 2003-04-25 Havoc Pennington * glib/dbus-gmain.c (remove_watch): fix for a crash when watches were toggled without add/remove, fix from Anders Gustafsson glib/dbus-gmain.c | 4 ++++ 1 file changed, 4 insertions(+) commit 36a6a6bc4edb1b3280e405b0addb9113dc09de5c Author: Havoc Pennington Date: 2003-04-24 19:18:22 +0000 2003-04-24 Havoc Pennington * configure.in: add --enable-checks * dbus/dbus-message.c (dbus_message_new): reverse name/service arguments * dbus/dbus-connection.c (dbus_connection_preallocate_send): fix to use thread locks. (_dbus_connection_handler_destroyed_locked): move some private functions into proper docs group * dbus/dbus-internals.h: add _dbus_return_if_fail, _dbus_return_val_if_fail Throughout: use dbus_return_if_fail glib/test-dbus-glib.c | 3 ++- glib/test-thread-client.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) commit eb553e370e7651a3104038cbba7ebb7a502118e7 Author: James Willcox Date: 2003-04-24 02:22:49 +0000 2003-04-23 James Willcox * glib/dbus-glib.h: * glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source), (dbus_connection_setup_with_g_main), (dbus_server_setup_with_g_main): * glib/test-dbus-glib.c: (main): * glib/test-thread-client.c: (main): * glib/test-thread-server.c: (new_connection_callback), (main): * tools/dbus-monitor.c: (main): Added a GMainContext argument to dbus_connection_setup_with_g_main() and dbus_server_setup_with_g_main(). glib/dbus-glib.h | 6 ++++-- glib/dbus-gmain.c | 36 +++++++++++++++++++++++------------- glib/test-dbus-glib.c | 2 +- glib/test-thread-client.c | 2 +- glib/test-thread-server.c | 4 ++-- 5 files changed, 31 insertions(+), 19 deletions(-) commit 62cc9827dee1d9fa052a11ce259acc7d1d2dcb9d Author: Havoc Pennington Date: 2003-04-18 04:18:57 +0000 2003-04-18 Havoc Pennington * glib/dbus-gmain.c: adapt to watch changes * bus/bus.c, bus/activation.c, etc.: adjust to watch changes * dbus/dbus-server.h: remove dbus_server_handle_watch * dbus/dbus-connection.h: remove dbus_connection_handle_watch * dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work like DBusTimeout, so we don't need dbus_connection_handle_watch etc. glib/dbus-gmain.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) commit 723f9251ee8892f05f4c94a9b0cfa864c5e56bae Author: Alex Larsson Date: 2003-04-10 12:09:00 +0000 2003-04-10 Alexander Larsson * bus/.cvsignore: * glib/.cvsignore: * test/.cvsignore: Added files to cvsignore * dbus/dbus-message.h: * dbus/dbus-message.c: (dbus_message_iter_get_named): Make get_named() take two out argument and return a boolean. (dbus_message_iter_get_args_valist): Update usage of get_named(). (dbus_message_iter_append_byte): Fix typo (dbus_message_iter_append_named) Fix typo (message_iter_test), (check_message_handling_type), (_dbus_message_test): More tests. glib/.cvsignore | 2 ++ 1 file changed, 2 insertions(+) commit f8c607ec8949388bd09136d0a6635190910a3e9a Author: Alex Larsson Date: 2003-04-08 15:52:50 +0000 2003-04-08 Alexander Larsson Implemented recursive types, named types and new-style iters * bus/driver.c: * glib/test-thread-client.c: (thread_func): * glib/test-thread-server.c: (handle_test_message): * test/test-service.c: (handle_echo): Update to new api * dbus/Makefile.am: * dbus/dbus-dict.c: * dbus/dbus-dict.h: * dbus/dbus.h Remove DBusDict * dbus/dbus-internals.c: (_dbus_type_to_string): Update for new types. * dbus/dbus-marshal.[ch]: Implement recursive types and the new marshalling format. Remove hardcoded dict marshalling. Marshal named types. * dbus/dbus-message-builder.c: Add BYTE_ARRAY. Remove references to old types * dbus/dbus-message.[ch]: New non-refcounted iter API that supports recursive iters. Use iters for appending, including support for recursive iters. Add byte and named type support. Update everything to new marshalling formats. Add tests for new API. * dbus/dbus-protocol.h: Remove old array types. Add types: BYTE, ARRAY, DICT, NAMED * dbus/dbus-string.c: * dbus/dbus-sysdeps.c: Make parse_double locale safe. * dbus/dbus-test-main.c: Call setlocale. * dbus/dbus-test.c: Kill dict test * doc/dbus-specification.sgml: Update spec * test/data/incomplete-messages/missing-body.message: * test/data/invalid-messages/bad-boolean.message: * test/data/invalid-messages/bad-boolean-array.message: * test/data/invalid-messages/boolean-array-length-too-long.message-raw: * test/data/invalid-messages/boolean-has-no-value.message-raw: * test/data/invalid-messages/too-short-dict.message: * test/data/valid-messages/dict-simple.message: * test/data/valid-messages/dict.message: * test/data/valid-messages/emptiness.message: * test/data/valid-messages/lots-of-arguments.message: * test/data/valid-messages/no-padding.message: * test/data/valid-messages/recursive-types.message: Add missing NAME fields Fix up dicts & arrays * test/data/invalid-messages/dict-with-nil-value.message: Removed, this is not invalid anymore. * test/data/valid-messages/recursive-types.message: Add new test for deeply recursive types. glib/test-thread-client.c | 9 ++++++--- glib/test-thread-server.c | 23 +++++++++++------------ 2 files changed, 17 insertions(+), 15 deletions(-) commit 4612ff9267417cf8860c233a59fe8ec249ee4a62 Author: Havoc Pennington Date: 2003-03-25 04:37:07 +0000 2003-03-24 Havoc Pennington * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this file * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow NULL argument for "message" if the error is a well-known one, fill in a generic message in this case. * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in favor of DBusError * bus/test.c (bus_test_flush_bus): add * bus/policy.c (bus_policy_test): test code stub glib/test-dbus-glib.c | 7 ++++--- glib/test-thread-client.c | 8 +++++--- glib/test-thread-server.c | 8 +++++--- 3 files changed, 14 insertions(+), 9 deletions(-) commit 9eb162678713477754e9d88eb68c156d336c80ab Author: Havoc Pennington Date: 2003-03-16 20:16:46 +0000 2003-03-16 Havoc Pennington * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak this. always run the test suite before commit... * bus/*: adapt to DBusConnection API changes * glib/dbus-gmain.c: adapt to DBusConnection API changes, requires renaming stuff to avoid dbus_connection_dispatch name conflict. * dbus/dbus-transport.c (_dbus_transport_queue_messages): new function * dbus/dbus-message.c (_dbus_message_loader_queue_messages): separate from _dbus_message_loader_return_buffer() * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove this, because it's now always broken to use; the number of messages in queue vs. the number still buffered by the message loader is undefined/meaningless. Should use dbus_connection_get_dispatch_state(). (dbus_connection_dispatch): rename from dbus_connection_dispatch_message glib/dbus-gmain.c | 64 ++++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) commit 457dd574d5eda1286571f7070860c6feb56f184e Author: Havoc Pennington Date: 2003-03-15 20:47:16 +0000 2003-03-15 Havoc Pennington Make it pass the Hello handling test including all OOM codepaths. Now to do other messages... * bus/services.c (bus_service_remove_owner): fix crash when removing owner from an empty list of owners (bus_registry_ensure): don't leave service in the list of a connection's owned services if we fail to put the service in the hash table. * bus/connection.c (bus_connection_preallocate_oom_error): set error flag on the OOM error. * dbus/dbus-connection.c (_dbus_connection_new_for_transport): handle _dbus_transport_set_connection failure * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify to create watches up front and simply enable/disable them as needed. (unix_connection_set): this can now fail on OOM * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept of enabling/disabling a watch or timeout. * bus/loop.c (bus_loop_iterate): don't touch disabled watches/timeouts * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts glib/dbus-gmain.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) commit 0f748f23b6fd40ab314bdc4d18e631cde958c1d2 Author: Havoc Pennington Date: 2003-03-15 02:19:01 +0000 2003-03-14 Havoc Pennington * dbus/dbus-memory.c: add a "detect buffer overwrites on free" cheesy hack * dbus/dbus-transport-debug.c: rework this a good bit to be less complicated. hopefully still works. * dbus/dbus-server-debug.c (handle_new_client): remove timeout manually * glib/dbus-gmain.c (timeout_handler): don't remove timeout after running it * dbus/dbus-message.c (dbus_message_copy): rename from dbus_message_new_from_message, fix it up to copy all the message fields, add test case * bus/dispatch.c (bus_dispatch_test): add some more test code, not quite passing yet glib/dbus-gmain.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a15287bc97819cca7b61cc18d6d69232bb05117d Author: Havoc Pennington Date: 2003-03-14 01:27:58 +0000 2003-03-13 Havoc Pennington * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle out of memory * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out of memory * dbus/dbus-connection.h: Make AddWatchFunction and AddTimeoutFunction return a bool so they can fail on out-of-memory * bus/bus.c (bus_context_new): set up timeout handlers * bus/connection.c (bus_connections_setup_connection): set up timeout handlers * glib/dbus-gmain.c: adapt to the fact that set_functions stuff can fail * bus/bus.c (bus_context_new): adapt to changes * bus/connection.c: adapt to changes * test/watch.c: adapt to DBusWatch changes * bus/dispatch.c (bus_dispatch_test): started adding this but didn't finish glib/dbus-gmain.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) commit e0a3fe2914f611ef4d74bbc1ca39794f0f7ae575 Author: Havoc Pennington Date: 2003-03-13 00:56:43 +0000 2003-03-12 Havoc Pennington Mega-patch that gets the message bus daemon initially handling out-of-memory. Work still needed. Also lots of random moving stuff to DBusError instead of ResultCode. * dbus/dbus-list.c (_dbus_list_length_is_one): new function * dbus/dbus-connection.c (dbus_connection_send_with_reply_and_block): use DBusError * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not DBusResultCode * dbus/dbus-connection.c (dbus_connection_send): drop the result code here, as the only failure possible is OOM. * bus/connection.c (bus_connection_disconnect): rename bus_connection_disconnected as it's a notification only * bus/driver.c (bus_driver_handle_acquire_service): don't free "name" on get_args failure, should be done by get_args; don't disconnect client for bad args, just return an error. (bus_driver_handle_service_exists): ditto * bus/services.c (bus_services_list): NULL-terminate returned array * bus/driver.c (bus_driver_send_service_lost) (bus_driver_send_service_acquired): send messages from driver to a specific client to the client's unique name, not to the broadcast service. * dbus/dbus-message.c (decode_header_data): reject messages that contain no name field (_dbus_message_get_client_serial): rename to dbus_message_get_serial and make public (_dbus_message_set_serial): rename from set_client_serial (_dbus_message_set_reply_serial): make public (_dbus_message_get_reply_serial): make public * bus/connection.c (bus_connection_foreach): allow stopping iteration by returning FALSE from foreach function. * dbus/dbus-connection.c (dbus_connection_send_preallocated) (dbus_connection_free_preallocated_send) (dbus_connection_preallocate_send): new API for sending a message without possibility of malloc failure. (dbus_connection_send_message): rename to just dbus_connection_send (and same for whole function family) * dbus/dbus-errors.c (dbus_error_free): make this reinit the error * dbus/dbus-sysdeps.c (_dbus_exit): new function * bus/activation.c: handle/return errors * dbus/dbus-errors.h: add more DBUS_ERROR #define * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents) (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode (_dbus_result_from_errno): move to this file glib/test-dbus-glib.c | 20 ++++++++++++++------ glib/test-thread-client.c | 9 +++++---- 2 files changed, 19 insertions(+), 10 deletions(-) commit 284daff1f103a303178243ca3e2dee960651fec0 Author: Alex Larsson Date: 2003-02-27 14:22:36 +0000 2003-02-27 Alexander Larsson * glib/Makefile.am: * configure.in: Make gthreads-2.0 dependency optional. Don't build thread test if its not found. glib/Makefile.am | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) commit b9589e9908d368cb064d1614e5c52239394414f4 Author: Alex Larsson Date: 2003-02-26 15:52:25 +0000 2003-02-26 Alexander Larsson * configure.in: Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0 * dbus/dbus-connection.c: * dbus/dbus-connection.h: Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch. Add dbus_connection_set_wakeup_main_function and use it when queueing incoming and outgoing messages. * dbus/dbus-dataslot.c: Threadsafe usage of DBusDataSlotAllocator * dbus/dbus-message.c: (dbus_message_get_args_iter): dbus_new can fail. * dbus/dbus-server-unix.c: Add todo comment * glib/dbus-gmain.c: Implement the new wakeup functions for glib. * glib/Makefile.am: * glib/test-thread-client.c: * glib/test-thread-server.c: * glib/test-thread.h: Initial cut at some thread test code. Not really done yet. glib/Makefile.am | 16 ++- glib/dbus-gmain.c | 13 ++- glib/test-thread-client.c | 89 ++++++++++++++++ glib/test-thread-server.c | 246 +++++++++++++++++++++++++++++++++++++++++++++ glib/test-thread.h | 1 + 5 files changed, 362 insertions(+), 3 deletions(-) commit c79213c6d3b041ce00bb00f24d4824e4a77f63ef Author: Havoc Pennington Date: 2003-02-26 06:42:57 +0000 2003-02-26 Havoc Pennington * dbus/dbus-connection.c (dbus_connection_send_message_with_reply_and_block): fix crash where we ref'd the outgoing message instead of the returned reply * dbus/dbus-transport-unix.c (do_authentication): check read watch at the end of this function, so if we didn't need to read for authentication, we reinstall it for receiving messages * dbus/dbus-message.c (dbus_message_new_reply): allow replies to a NULL sender for peer-to-peer case * dbus/dbus-transport-unix.c (check_read_watch): handle !authenticated case correctly * glib/dbus-gmain.c: add support for DBusServer * dbus/dbus-server.c: add data slot support * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check return values and handle errors * dbus/dbus-dataslot.c: factor out the data slot stuff from DBusConnection * Doxyfile.in (INPUT): add glib subdir * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename setup_with_g_main instead of hookup_with_g_main; write docs glib/dbus-glib.h | 5 +- glib/dbus-gmain.c | 257 +++++++++++++++++++++++++++++++++++++++++-------- glib/dbus-gthread.c | 16 +++ glib/test-dbus-glib.c | 2 +- 4 files changed, 238 insertions(+), 42 deletions(-) commit ebace7f90ea6b3d85a9140be3671ea527c3a5727 Author: Joe Shaw Date: 2003-02-18 22:51:35 +0000 2003-02-18 Joe Shaw * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get credentials from our currently running process. (get_word): Fix a buglet where we were copying the entire length instead of relative to our position. * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the keys on the stack... it's 640k of data. * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always read the credentials byte off the socket, even if we don't have SO_PEERCRED. (_dbus_poll): Implement poll() using select() for systems which don't have it. * glib/test-dbus-glib.c (main): Print out an error if no parameters are given. * test/data/auth/fallback.auth-script: Added. Tests that a client can fallback to a secondary auth mechanism if the first fails. glib/test-dbus-glib.c | 7 +++++++ 1 file changed, 7 insertions(+) commit 2655a78cdf1114a686d3c2ee28025db133b287c3 Author: Anders Carlsson Date: 2003-02-16 12:57:26 +0000 2003-02-16 Anders Carlsson * dbus/dbus-auth.c: (client_try_next_mechanism): Plug a leak. * dbus/dbus-threads.c: (dbus_condvar_wait_timeout): Return TRUE if there's no thread implementation around. * glib/dbus-gmain.c: (free_source), (dbus_connection_hookup_with_g_main): Make sure to remove the GSource when the connection is finalized. glib/dbus-gmain.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) commit 4fbaec0ff143d92f96fb60c585282b5cb03bdc76 Author: Havoc Pennington Date: 2003-02-16 07:20:54 +0000 2003-02-16 Havoc Pennington * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe): allow people to avoid setting SIGPIPE to SIG_IGN (_dbus_connection_new_for_transport): disable SIGPIPE unless we've been asked not to glib/.cvsignore | 4 ++++ 1 file changed, 4 insertions(+) commit 69a436d7913c1681eea397e768687fab736f9d7c Author: Alex Larsson Date: 2003-02-15 16:25:08 +0000 2003-02-15 Alexander Larsson * dbus/dbus-threads.c: * dbus/dbus-threads.h: Add condvars. Remove static mutext from API. Implement static mutexes by initializing them from threads_init. * glib/dbus-gthread.c: * qt/dbus-qthread.cpp: Update with the thread api changes. * dbus/dbus-list.c: * dbus/dbus-list.h: Turn StaticMutex into normal mutex + init function. Export new functions _dbus_list_alloc_link, _dbus_list_free_link, _dbus_list_append_link, _dbus_list_prepend_link * dbus/dbus-sysdeps.c: * dbus/dbus-sysdeps.h: New type dbus_atomic_t, and new functions _dbus_atomic_inc, _dbus_atomic_dec. Only slow fallback implementation at the moment. * dbus/dbus-protocol.h: Add DBUS_MESSAGE_LOCAL_DISCONNECT define * dbus/dbus-message.c: Make ref/unref atomic. Fix some docs. * dbus/dbus-connection-internal.h: * dbus/dbus-connection.c: * dbus/dbus-connection.h: Make threadsafe. Change _peek to _borrow,_return & _steal_borrowed. Change disconnect callback to event. Make dbus_connection_dispatch_messages reentrant. * dbus/dbus-transport.c: Don't ref the connection on calls to the transport implementation. * dbus/dbus-message-handler.c: Make threadsafe. * glib/dbus-gmain.c: Don't use peek_message anymore * test/Makefile.am: * test/debug-thread.c: * test/debug-thread.h: Simple thread implementation that asserts() on deadlocks in single-threaded code. * test/bus-test.c: (main) Call debug_threads_init. * test/watch.c: Use disconnect message instead of disconnect callback. * bus/connection.c: * bus/connection.h: Don't call dbus_connection_set_disconnect_function. Instead export bus_connection_disconnect. * bus/dispatch.c: Call bus_connection_disconnect when we get a disconnected message. glib/dbus-gmain.c | 2 +- glib/dbus-gthread.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 86 insertions(+), 10 deletions(-) commit 530cf7689515707b5430b3207da225320cf244c4 Author: Anders Carlsson Date: 2003-02-13 21:37:58 +0000 2003-02-13 Anders Carlsson * bus/driver.c: (bus_driver_handle_hello): * bus/driver.h: * bus/services.c: (bus_service_lookup): Reorder message sending so we get a more sane order. * test/bus-test.c: (message_handler): Fix tyop. glib/test-dbus-glib.c | 3 --- 1 file changed, 3 deletions(-) commit 044f4c6ed2170170d833d402079b90277893cd05 Author: Anders Carlsson Date: 2003-02-13 20:37:07 +0000 2003-02-13 Anders Carlsson * glib/dbus-gmain.c: (timeout_handler), (add_timeout), (remove_timeout): Implement support for timeouts in dbus-glib. glib/dbus-gmain.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) commit 12d8e0d2d6aeb5f29ff8b51cdd4aae857d35d13f Author: Alex Larsson Date: 2003-02-01 22:02:27 +0000 2003-02-02 Alexander Larsson * dbus/dbus-watch.c (dbus_watch_get_flags): Add note in the docs that ERROR or HANGUP won't be returned and are assumed always on. * glib/dbus-gmain.c (add_watch): Always add IO_ERR | IO_HUP * dbus/dbus-message.h: Add semicolon after dbus_message_iter_get_string_array(). Makes qt code build again glib/dbus-gmain.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit bb581faf87398e807a828f2686474869cd23757d Author: Richard Hult Date: 2003-01-26 00:06:30 +0000 2003-01-26 Richard Hult * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of the file descriptor list, since it can change under us. glib/dbus-gmain.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) commit 74cef08b5e2f2596cade4fc1027933d763cd13ae Author: Anders Carlsson Date: 2003-01-25 21:22:57 +0000 2003-01-25 Anders Carlsson * glib/dbus-gmain.c: (dbus_connection_prepare), (dbus_connection_check), (dbus_connection_dispatch), (add_watch), (remove_watch), (dbus_connection_hookup_with_g_main): Rewrite the glib handling to use its own GSource instead of a GIOChannel so we can catch messages put in the queue while waiting for a reply. glib/dbus-gmain.c | 193 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 128 insertions(+), 65 deletions(-) commit 6f062c93ca19a73b34688488e76ec055d2bab2a0 Author: Anders Carlsson Date: 2003-01-24 23:51:58 +0000 2003-01-25 Anders Carlsson * bus/connection.c: (bus_connection_foreach): * bus/connection.h: Add new bus_connection_foreach function. * bus/driver.c: (send_one_message), (bus_driver_broadcast_message): Add function that broadcasts a message to all clients. (bus_driver_send_service_created), (bus_driver_handle_hello), (bus_driver_send_welcome_message), (bus_driver_handle_list_services), (bus_driver_message_handler): Implement functions that take care of listing services, and notifying clients when new services are created. * bus/services.c: (bus_services_list): * bus/services.h: Add new function that returns an array of strings with the currently registered services. * glib/dbus-glib.h: * glib/dbus-gmain.c: Update copyright year. glib/dbus-glib.h | 2 +- glib/dbus-gmain.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit ea868ce1cd9328ffa31cd9419e23498771f8feb2 Author: Anders Carlsson Date: 2003-01-21 09:23:18 +0000 2003-01-21 Anders Carlsson * dbus/dbus-connection.c: (dbus_connection_send_message): Add a new client_serial parameter. (dbus_connection_send_message_with_reply): Remove a @todo since we've implemented the blocking function. (dbus_connection_send_message_with_reply_and_block): New function that sends a message and waits for a reply and then returns the reply. * dbus/dbus-connection.h: Add new functions. * dbus/dbus-errors.c: (dbus_result_to_string): * dbus/dbus-errors.h: Add new DBUS_RESULT. * dbus/dbus-message-internal.h: * dbus/dbus-message.c: (_dbus_message_get_reply_serial), (_dbus_message_set_sender), (dbus_message_write_header), (dbus_message_new_reply), (decode_header_data), (_dbus_message_loader_return_buffer), (_dbus_message_test): * dbus/dbus-message.h: Add new functions that set the reply serial and sender. Also marshal and demarshal them correctly and add test. * dbus/dbus-protocol.h: Add new DBUS_MESSAGE_TYPE_SENDER. * glib/dbus-glib.h: * glib/dbus-gmain.c: (watch_callback), (free_callback_data), (add_watch), (remove_watch), (add_timeout), (remove_timeout), (dbus_connection_hookup_with_g_main): * glib/test-dbus-glib.c: (main): Rewrite to use GIOChannel and remove the GSource crack. * test/echo-client.c: (main): * test/watch.c: (check_messages): Update for changed APIs glib/dbus-glib.h | 10 +-- glib/dbus-gmain.c | 219 +++++++++++++++++++------------------------------ glib/test-dbus-glib.c | 48 +++-------- 3 files changed, 99 insertions(+), 178 deletions(-) commit f8a3cb6d30e74be85b583ce9ff3482f91cd26b9a Author: Anders Carlsson Date: 2003-01-07 20:18:23 +0000 2003-01-07 Anders Carlsson * dbus/dbus-connection-internal.h: * dbus/dbus-connection.c: (_dbus_connection_new_for_transport), (_dbus_connection_get_next_client_serial), (dbus_connection_send_message): * dbus/dbus-internals.h: * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32), (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32), (_dbus_marshal_uint32), (_dbus_demarshal_double), (_dbus_demarshal_int32), (_dbus_demarshal_uint32), (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos), (_dbus_verbose_bytes), (_dbus_marshal_test): * dbus/dbus-marshal.h: * dbus/dbus-message-internal.h: * dbus/dbus-message.c: (_dbus_message_set_client_serial), (dbus_message_write_header), (_dbus_message_lock), (dbus_message_new), (dbus_message_ref), (dbus_message_unref), (dbus_message_get_name), (dbus_message_append_int32), (dbus_message_append_uint32), (dbus_message_append_double), (dbus_message_append_string), (dbus_message_append_byte_array), (dbus_message_get_fields_iter), (dbus_message_iter_ref), (dbus_message_iter_unref), (dbus_message_iter_has_next), (dbus_message_iter_next), (dbus_message_iter_get_field_type), (dbus_message_iter_get_string), (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32), (dbus_message_iter_get_double), (decode_header_data), (_dbus_message_loader_return_buffer), (message_iter_test), (_dbus_message_test): * dbus/dbus-message.h: * dbus/dbus-protocol.h: * dbus/dbus-test.c: (main): * dbus/dbus-test.h: * glib/test-dbus-glib.c: (message_handler), (main): * test/echo-client.c: (main): * test/watch.c: (check_messages): Make messages sendable and receivable for real. glib/test-dbus-glib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9784f2653287c62f32a637f869ad0029412ebfae Author: Anders Carlsson Date: 2002-12-27 08:26:26 +0000 Ssh glib/.cvsignore | 7 +++++++ 1 file changed, 7 insertions(+) commit c27a1609f595a75be3910c5185f7312cb93575c7 Author: Havoc Pennington Date: 2002-12-24 06:37:32 +0000 2002-12-24 Havoc Pennington * glib/dbus-gthread.c: fix include * glib/dbus-glib.h: rename DBusMessageHandler for now. I think glib API needs to change, though, as you don't want to use DBusMessageFunction, you want to use the DBusMessageHandler object. Probably dbus_connection_open_with_g_main_loop() and dbus_connection_setup_g_main_loop() or something like that (but think of better names...) that just create a connection that has watch/timeout functions etc. already set up. * dbus/dbus-connection.c (dbus_connection_send_message_with_reply): new function just to show how the message handler helps us deal with replies. * dbus/dbus-list.c (_dbus_list_remove_last): new function * dbus/dbus-string.c (_dbus_string_test): free a string that wasn't * dbus/dbus-hash.c: use memory pools for the hash entries (rebuild_table): be more paranoid about overflow, and shrink table when we can (_dbus_hash_test): reduce number of sprintfs and write valid C89. Add tests for case where we grow and then shrink the hash table. * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools * dbus/dbus-connection.c (dbus_connection_register_handler) (dbus_connection_unregister_handler): new functions * dbus/dbus-message.c (dbus_message_get_name): new * dbus/dbus-list.c: fix docs typo * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c: an object representing a handler for messages. glib/dbus-glib.h | 6 +++--- glib/dbus-gmain.c | 2 +- glib/dbus-gthread.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) commit 723dc26c4880ae66688ff707588797e7c83b4fe4 Author: Anders Carlsson Date: 2002-12-16 01:43:52 +0000 Doh glib/dbus-glib.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a2c39755d2c9749d22f547e9b92125509e95aae6 Author: Anders Carlsson Date: 2002-12-16 00:56:23 +0000 2002-12-16 Anders Carlsson * glib/dbus-glib.h: * glib/dbus-gthread.c: (dbus_gthread_init): Don't use the gdbus prefix for public functions. glib/dbus-glib.h | 4 +--- glib/dbus-gthread.c | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) commit 03900e96a260048f23176319003671c17b6a0013 Author: Anders Carlsson Date: 2002-12-16 00:26:05 +0000 2002-12-16 Anders Carlsson * Makefile.am: * configure.in: Add GLib checks and fixup .pc files * glib/Makefile.am: * glib/dbus-glib.h: * glib/dbus-gmain.c: (gdbus_connection_prepare), (gdbus_connection_check), (gdbus_connection_dispatch), (gdbus_add_connection_watch), (gdbus_remove_connection_watch), (dbus_connection_gsource_new): * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free), (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init): * glib/test-dbus-glib.c: (message_handler), (main): Add GLib support. glib/Makefile.am | 26 +++++++ glib/dbus-glib.h | 40 ++++++++++ glib/dbus-gmain.c | 194 +++++++++++++++++++++++++++++++++++++++++++++++++ glib/dbus-gthread.c | 84 +++++++++++++++++++++ glib/test-dbus-glib.c | 60 +++++++++++++++ 5 files changed, 404 insertions(+) commit 7c0c11bfa019cd4be3f7a62fe936aaf2573fa51e Author: John (J5) Palmieri Date: 2006-06-28 08:14:04 -0400 Initial commit of module dbus-glib 0 files changed