+2006-04-30 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * Makefile.am:
+ * configure.in:
+ * dbus-qt4-1.pc.in: Add a pkg-config file for libdbus-qt4-1.
+ Thanks to Brad Hards for providing the patch
+
+2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
+ call. (r535506)
+
+2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/examples/dbus.cpp: Enhance error messages and use
+ QDBusInterfacePtr.
+
+2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusinterface.h: Rename QDBusRef to QDBusInterfacePtr
+ and disable the copy operators. (r533772, r534746)
+
+ * qt/qdbuserror.h: Remove the automatic cast to bool. (r533929)
+
+ * qt/qdbusabstractinterface.cpp:
+ * qt/qdbusabstractinterface.h: Change the default call mode to
+ not use the event loop. Add convenience call() methods that
+ take a CallMode parameter. (r534042)
+
+ * qt/qdbusconnection.h: Change the default call mode to not
+ use the event loop. (r534042)
+
+ * qt/qdbusinterface.cpp:
+ * qt/qdbusinterface.h: Add a method to tell us if the
+ interface is valid (since we don't return a null pointer
+ anymore) (r534099)
+
+ * qt/qdbusinterface_p.h: Don't crash if metaObject is 0
+ (r534101)
+
+ * qt/qdbusinternalfilters.cpp: Decouple the introspection
+ function in two so taht we get the chance to introspect
+ without having a QDBusMessage (r534102)
+
+ * qt/qdbusbus.h:
+ * qt/qdbusconnection.cpp:
+ * qt/qdbusconnection_p.h:
+ * qt/qdbusintegrator.cpp: Keep a list of our own names to
+ avoid a round-trip to the server when attempting to introspect
+ one of our own objects. Also make sure the filter functions
+ match the empty interface as well. (r534108)
+ Don't keep the connection names. Instead, trust the unique
+ connection name (r534111)
+ Remove event loop usage (r534112)
+
+2006-04-29 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusintegrator.cpp: Fix assertion failure spotted by
+ Brad Hards.
+
+2005-04-28 Robert McQueen <robot101@debian.org>
+
+ * 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.
+
+2005-04-28 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking
+ of memory from within pointer arrays and lists. Fixes bug #6300.
+
+2005-04-28 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
+ generating struct signatures. Fixes bug #6083.
+
+2005-04-28 Robert McQueen <robot101@debian.org>
+
+ * qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
+ to qdbusconnection_p.moc.
+
+2006-04-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * README, INSTALL: Doc fixes
+ Patch from Brad Hards <bradh at frogmouth.net>
+
+2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/examples/dbus.cpp: Use the new merged-interface mode for
+ the dynamic meta object. No need to guess which interface to
+ call.
+
+2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusconnection_p.h:
+ * qt/qdbusmetaobject.cpp:
+ * qt/qdbusmetaobject_p.h:
+ * qt/qdbusintegrator.cpp: Use the new merged-interface mode
+ for the dynamic meta object. No need to guess which
+ interface to call.
+ * qt/qdbusabstractinterface_p.h:
+ * qt/qdbusconnection.cpp:
+ * qt/qdbusintegrator.cpp:
+ * qt/qdbusinterface.cpp:
+ * qt/qdbusinterface.h: Make findInterface always return a non-null pointer.
+ Add a QDBusRef that looks and behaves like DCOPRef.
+
+2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * dbus/dbus-connection.c: Interfaces are optional in method
+ calls, so don't give up if the interface parameter is NULL.
+ Patch reviewed by Havoc Pennington.
+
+2006-04-23 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusreply.h: Add default constructor and operator=
+ (r532625)
+ * qt/qdbustypehelper_p.h: Use a clean namespace: no foreach()
+ in public headers (r532952)
+ * qt/qdbusabstractinterface.cpp:
+ * qt/qdbusabstractinterface_p.h: Add the AutoDetect mode and
+ make it the default (r532951)
+
+2006-04-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c: Fix asserts
+ Patch from Tim Moloney <t.moloney at verizon.net>
+
+2006-04-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * mono/Connection.cs, mono/Message.cs: Check Target type
+ Patch from Aaron Bockover (abockover at novell.com)
+
+2006-04-13 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * INSTALL: fine-tune the requirements for the Qt4 binding.
+
+2006-04-16 Daniel P. Berrange <dan@berrange.com>
+
+ * tools/dbus-print-message.c: Added support for printing of all
+ remaining data types. Fixed logic for indentation of compound
+ data types.
+
+2006-04-15 Daniel P. Berrange <dan@berrange.com>
+
+ * INSTALL: fill out content of file providing DBus specific
+ build installations, followed by generic Auto* INSTALL file
+ content
+
+2006-04-13 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusintegrator.cpp: Work around g++ 3.3 bug.
+ Patch by Stefan Eilers. (r529537)
+
+2006-04-13 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusinternalfilters.cpp: Don't show the parent's
+ contents (r528208)
+
+2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/Makefile.am: fix the dependency for
+ qdbusconnection_p.moc. It's included in qdbusintegrator.cpp,
+ not in qdbusconnection.cpp.
+ Thanks to Jakub Stachowski <stachowski@hypair.net> for
+ spotting this.
+
+2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/examples/listnames.cpp:
+ * qt/examples/Makefile.am: Three ways to list the names on the
+ bus.
+
+2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * test/qt/tst_hal.cpp: Remove the waiting, since it's not
+ needed anymore. Requires Qt 4.1.3 to work properly. (r528148)
+
+2006-04-10 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ Merge from Subversion:
+ * qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
+ something that exists (r526315)
+ * qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
+ slots/signals (r526316)
+ * qt/qdbusinternalfilters.cpp: Fix the setProperty call and
+ also return an unknown-method error if the parameters don't
+ match for org.freedesktop.DBus.Properties. (r526842)
+ * qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
+ * qt/qdbusintegrator.cpp: Restore the proper order of
+ delivery: don't make method returns be delivered on priority
+ (r528150)
+
+2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * configure.in qt/Makefile.am: add qt/examples
+ * qt/examples: Add QtDBus example programs:
+ - hello: Hello, World
+ - ping: Simple method-calling program
+ - pong: Simple object-exporting program (not using adaptors)
+ - complexping: Interactive method-calling program
+ (also gets and sets properties).
+ - complexpong: Sample program exporting methods, signals and
+ properties, using adaptors.
+ - dbus: Simple implementation of a generic method-calling
+ program, similar to 'dbus-send', but with semantics
+ similar to 'dcop'.
+ - chat: Simplistic chat program, implemented using signals
+ and the system bus. Looks like IRC.
+
+2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * configure.in: Detect QtGui (necessary for one of the
+ example programs). Note: this increases the minimum required
+ version of Qt to 4.1.3.
+
+2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * test/qt/*: Sync with KDE Subversion revision 523647.
+ Update the testcases to the new API. Remove testcases for
+ classes that are no longer public or have been removed.
+
+2006-03-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/*:
+ * dbus/qdbus.h: Sync with KDE Subversion revision
+ 523647. Hopefully, this will be the last of the
+ source-incompatible changes. Documentation has been improved;
+ support for QList<basic-types> has been added; QDBusObject is
+ gone; QDBus(Abstract)Interface is now a QObject with
+ auto-generated meta-object; QDBusIntrospection is marked
+ private, since QMetaObject can be used now; lots of bugfixes.
+
+2006-03-16 John (J5) Palmieri <johnp@redhat.com>
+
+ Patch from Milosz Derezynski <internalerror at gmail.com>
+
+ * configure.in:
+ Output the service directory in the configure summary
+
+ * dbus-1.pc.in:
+ Add session_bus_services_dir
+
+2006-03-10 Ross Burton <ross@openedhand.com>
+
+ * tools/dbus-print-message.c:
+ Add support for object paths and signatures.
+
+2006-03-06 Sjoerd Simons <sjoerd@luon.net>
+
+ * bus/bus.c: (bus_context_reload_config): Flush the user database cache on
+ config reload.
+ * bus/dbus-daemon.1.in: Also note that SIGHUP flushes the user/group
+ information caches
+ * dbus/dbus-hash.c: (_dbus_hash_table_remove_all):
+ * dbus/dbus-hash.h: Add function to remove all entries from a hash table
+ * dbus/dbus-userdb.c: (_dbus_user_database_flush):
+ * dbus/dbus-userdb.h: Add function to flush all user/group information
+ caches.
+
+2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/dbusidl2cpp.cpp:
+ * qt/Makefile.am: add the dbusidl2cpp tool, the replacement
+ for dcopidl2cpp, found in the KDE installations (or the more
+ modern kalyptus): generate Qt4 C++ code for the input XML
+ introspection. Currently no IDL parsing.
+
+2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * test/qt/*: Update the self-tests.
+
+2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/*:
+ * dbus/qdbus.h: Sync with KDE Subversion revision 516237. This
+ represents the first feature-complete version of the Qt4
+ bindings since I took ove maintainership.
+
+2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/Doxyfile: Adding a Doxyfile for the Qt4 bindings
+ dir. This is C++, so we can't use the DBus ones.
+
+2006-03-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * python/dbus_bindings.pyx: Remove refrence to sys/cdefs.h
+ (Patch from Artem Kachitchkine <Artem.Kachitchkin at Sun.COM>)
+
+2006-03-02 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c:
+ (_dbus_connection_block_pending_call):
+ Check to see if our data has already been read off the connection
+ by another blocking pending call before we block in poll.
+ (check_for_reply_and_update_dispatch_unlocked):
+ Code taken from _dbus_connection_block_pending_call - checks for
+ an already read reply and updates the dispatch if there is one.
+
+ * test/name-test/test-pending-call-dispatch.c:
+ New test for making sure we don't get stuck polling a
+ dbus connection which has no data on the socket when
+ blocking out of order on two or more pending calls.
+
+2006-02-28 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/Makefile.am: Patch by Sjoerd Simons. More .moc issues:
+ make/automake don't detect that we're talking about the same
+ .lo file if I specify the full path to the source files.
+
+2006-02-26 Havoc Pennington <hp@redhat.com>
+
+ * bus/dbus-daemon.1.in: improve the language in a couple spots I noticed
+
+ * dbus/dbus-bus.c (internal_bus_get): in the error message if the
+ session bus variable is unset, suggest "man dbus-launch" and "man
+ dbus-daemon" to figure out how to fix the problem
+
+2006-02-25 Havoc Pennington <hp@redhat.com>
+
+ * glib/dbus-glib-tool.c (usage): fix up the usage message, someone
+ should make this thing use the new glib options parser
+
+2006-02-25 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/Makefile.am: Patch by Sjoerd Simons. Fix the path to the
+ .lo files taking moc sources.
+
+2006-02-25 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus.h, dbus/Makefile.am: add dbus-signature.h to dbus.h
+ and install it as a public header
+
+2006-02-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 0.61
+
+2006-02-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * proxies.py: Fix the callchain
+
+2006-02-24 John (J5) Palmieri <johnp@redhat.com>
+
+ * patch from Sjoerd Simons <sjoerd at debian.org>:
+
+ * dbus/dbus-sysdeps-util.c (_dbus_group_info_free): Moved to
+ dbus/dbus-sysdeps.c
+
+ * dbus/dbus-userdb.c (_dbus_group_info_free_allocated): Don't
+ call _dbus_group_info_free_allocated which causes infinite loop,
+ correctly call _dbus_group_info_free
+
+2006-02-20 Thiago Macieira <thiago.macieira@trolltech.com>
+
+ * qt/qdbusinterface_p.h:
+ * qt/qdbusinterface.cpp: Use the standard
+ org.freedesktop.DBus.Method.NoReply annotation for the "async"
+ calls instead of creating one for us.
+
+ * qt/qdbusconnection_p.h:
+ * qt/qdbusintegrator.cpp: Remove debugging code.
+
+ * qt/qdbusintegrator.cpp:
+ * qt/qdbusmessage.cpp:
+ * qt/qdbusmessage_p.h:
+ * qt/qdbusmessage.h: Change the behaviour of automatic
+ reply-sending: now a reply is always sent, unless the caller
+ didn't request one or if the user slot has already sent one.
+
+2006-02-16 Robert McQueen <robot101@debian.org>
+
+ * configure.in: Patch from Debian packages by Sjoerd Simons
+ <sjoerd@debian.org> to add --with-qt-moc and --with-qt3-moc
+ arguments so it's possible to build both bindings in the
+ same tree.
+
+ * qt/Makefile.am: Fix truncated value so that make dist works.
+
+2006-02-16 Robert McQueen <robot101@debian.org>
+
+ * acinclude.m4, configure.in: Patch from Brad Hards
+ <bradh@frogmouth.net> to avoid warnings from autoconf 1.9 by
+ improving quoting, re-ordering a few checks, and a few other
+ aesthetic tidy-ups.
+
+2006-02-16 Robert McQueen <robot101@debian.org>
+
+ * dbus/dbus-message.c (dbus_message_iter_get_fixed_array):
+ Patch from Rob Taylor <rob.taylor@collabora.co.uk> 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.
+
+2006-02-16 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gmain.c: Make the previous commit compile.
+
+ * python/_dbus.py, python/matchrules.py: Patch from Ole Andre
+ Ravnaas <ole.andre.ravnaas@collabora.co.uk> 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.
+
+2006-02-15 John (J5) Palmieri <johnp@redhat.com>
+
+ * 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
+
+2006-02-13 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/dbus-launch.c: Fixed sh syntax output
+
+2006-02-13 Robert McQueen <robot101@debian.org>
+
+ * 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 <rob.taylor@collabora.co.uk> 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.
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly
+ deal with nested arrays (Bug #5823) Patch by Thiago Macieira
+ <thiago.macieira at trolltech.com>
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * mono/doc/Makefile.am: Fix parallel make problem with mono-doc
+ (Bug #4213) Patch from Doug Goldstein <cardoe at gentoo.org>
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/connection.c (bus_connections_expect_reply): Make
+ pending reply limit not common to all connections (Bug #5416)
+ Patch from Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * tools/dbus-launch.c: Fixed csh syntax output (Bug #5720)
+
+2006-02-10 John (J5) Palmieri <johnp@redhat.com>
+
+ * gcj/Makefile.am: point to correct jar command (Bug #4529)
+ patch from Doug Goldstein <cardoe at gentoo.org>
+
+2006-02-09 Joe Shaw <joeshaw@novell.com>
+
+ * mono/Arguments.cs: Fix a magic number in the mono bindings
+ that doesn't work on 64 bit arches. Patch from Peter Johanson.
+
+2006-01-27 Robert McQueen <robot101@debian.org>
+
+ * 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.
+
+2006-01-27 Robert McQueen <robot101@debian.org>
+
+ * 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.
+
+2006-01-27 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor
+ to free a D-Bus allocated string with dbus_free () instead of
+ g_free ().
+
+2006-01-27 Iain Holmes <iain@openedhand.com>
+
+ * glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
+ method from being called multiple times.
+
+2006-01-19 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-binding-tool-glib.c: Patch from Rob Taylor
+ <rob.taylor@collabora.co.uk> 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).
+
+2006-01-05 Robert McQueen <robot101@debian.org>
+
+ * dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki
+ <ricardo.kekki@movial.fi> 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.
+
+2006-01-05 Robert McQueen <robot101@debian.org>
+
+ * glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki
+ <ricardo.kekki@movial.fi> to make dbus-binding-tool heed C symbol name
+ annotations when generating glib client bindings.
+
+2005-12-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-shared.h: Call it shared constants instead of shared macros
+
+ * dbus/dbus-protocol.h: add DOxygen markup to quiet warnings
+
+2005-12-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-shared.h: add DOxygen markup to quiet warnings
+
+2005-12-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@})
+
+2005-12-19 Ross Burton <ross@openedhand.com>
+
+ * doc/dbus-tutorial.xml:
+ Document the Glib client-side bindings, and list all possible annotations.
+
+2005-12-19 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/bus.c (dbus_bus_release_name): Add documentation
+
+2005-12-06 Robert McQueen <robot101@debian.org>
+
+ * python/service.py: s/sucessful/successful/ so we're allocating to
+ and reading from the same variable. Oops.
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * Released 0.60
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * test/qt/Makefile.am: build from srcdir
+
+ * qt/qtconnection.cpp (requestName): Changed PROHIBIT_REPLACE to ALLOW_REPLACE
+ Note - this code is wrong and needs to be fixed by the Qt binding
+ developers. The flags should be treated as bitfields and not enums.
+
+ * qt/qtconnection.h: Change ProhibitReplace to AllowReplace
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after,
+ link_after): remove #ifdef DBUS_BUILD_TESTS since we use these methods
+ in production code
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * dbus/dbus-connection.c (dbus_connection_read_write): Add new
+ method for getting messages off the bus in the absence of a
+ mainloop. This method is much like
+ dbus_connection_read_write_dispatch except it does not dispatch
+ the messages to a registered filter function. Instead it
+ allows a developer to process messages by directly popping
+ them off the bus.
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/desktop-file.c (parse_key_value): Ignore locales allowing
+ the parser to continue instead of returning error
+ (bus_desktop_file_load): Do not free parser data when
+ parse_section_start or parse_key_value fails because it was
+ already freed by parser_free (patch from Carlos Garcia Campos
+ <carlosgc at gnome.org>)
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * 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 <kmaraas at gnome.org>)
+
+2005-11-30 John (J5) Palmieri <johnp@redhat.com>
+
+ * glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak
+ (patch from Carlos Garnacho Parro <carlosg at gnome.org>
+
+2005-11-27 Robert McQueen <robot101@debian.org>
+
+ * python/dbus_bindings.pyx: Repair my previous commit which reverted
+ part of the preceding one. Oops. Merge patch by Johan Hedberg
+ <johan.hedberg@nokia.com> to fix marshalling of 16-bit integer values
+ on big-endian platforms.
+
+ * test/python/test-client.py: Add some 16-bit integers to the test
+ values.
+
+2005-11-27 Carlos Garcia Campos <carlosgc@gnome.org>
+
+ * glib/dbus-gobject.c: Append a GValue instead of a basic type in
+ method return message for property getters
+
+2005-11-27 Robert McQueen <robot101@debian.org>
+
+ * python/dbus_bindings.pyx: Fix a bug where doing a strict append
+ with type v of an instance of dbus.Variant(foo, type='x') caused
+ it to be boxed twice before sending over the bus.
+
+ * python/dbus_bindings.pyx, python/service.py,
+ test/python/test-client.py: Update the constants for the new
+ request_name flags, and update comments/test cases now that queueing
+ is the default action.
+
+2005-11-22 John (J5) Palmieri <johnp@redhat.com>
+
+ * configure.in:
+ - Change version to 0.60 for impending release
+ - upped the sonames because of ABI and API breakage
+
+2005-11-22 John (J5) Palmieri <johnp@redhat.com>
+
+ * 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
+
+2005-11-15 Robert McQueen <robot101@debian.org>
+
+ * 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.
+
+2005-11-15 Robert McQueen <robot101@debian.org>
+
+ * bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName
+ method to org.freedesktop.DBus to release a bus name or give up
+ waiting in the queue for it.
+
+ * dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a
+ dbus_bus_release_name method to send the ReleaseName method calls.
+ Add constants for the return values to dbus/dbus-shared.h.
+
+ * doc/dbus-specification.xml: Document the new ReleaseName method
+ in the specification.
+
+ * python/dbus_bindings.pyx: Add a low-level python binding for the
+ release name method.
+
+ * python/exceptions.py, python/service.py: Make freeing BusName
+ objects release the name. Add a NameExistsException, and fix a
+ bug with creating UnknownMethodException.
+
+ * test/python/test-client.py: Add tests for freeing BusName
+ objects causing names to be released.
+
+2005-11-14 Robert McQueen <robot101@debian.org>
+
+ * python/service.py: Include the traceback in the error reply when we
+ send an exception over the bus. _BEST_ _PATCH_ _EVER_
+
+2005-11-14 David Zeuthen <davidz@redhat.com>
+
+ Patch from Timo Hoenig <thoenig@suse.de>.
+
+ * bus/bus.c: I've recently investigated why the automatic reload
+ of configuration files does not work as expected.
+
+ Currently, reloading configuration files does only work when
+ running dbus-daemon with --nodaemon. If we are running as daemon
+ we're hitting a dnotify bug once we fork the process.
+
+ We're initializing the dnotify fds before calling fork(). Once
+ the child process forked it does still have the fds (and they
+ still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
+ getting SIGIO as changes are made to the configuration files.
+
+ The attached patch moves the initialization of the dnotify fds to
+ process_config_postinit(). This is safe for all current code
+ paths and solves the dnotify disfunction. If we're running
+ dbus-daemon as daemon the fds for dnotify are now being
+ initialized after fork() for the child process.
+
+ * configure.in: The current configure.in check for dnotify probes
+ 'x$target_os' for being 'xlinux-gnu'. I've changed the check to
+ match for 'xlinux', too. Additionally I have adapted the configure
+ option's style to match with the others.
+
+2005-11-14 Robert McQueen <robot101@debian.org>
+
+ * python/decorators.py, python/service.py: Add a new argument to the
+ dbus.service.method decorator called sender_keyword, which if set,
+ specifies the name of an argument which will be provided the bus
+ name of the method caller.
+
+ * test/python/test-client.py, test/python/test-service.py: Add a
+ method and test to check the sender_keyword functionality.
+
+2005-11-07 John (J5) Palmieri <johnp@redhat.com>
+
+ * bus/driver.c (bus_driver_handle_reload_config): Make sure we send an
+ empty reply so blocking calls don't block forever (Patch from Sjoerd
+ Simons <sjoerd at luon.net>)
+
+ * AUTHORS: Add Robert McQueen for his work on the Python
+ Bindings and other parts of D-Bus
+
+2005-11-07 Robert McQueen <robot101@debian.org>
+
+ * python/decorators.py: Change emit_signal function to use the
+ signature annotation of the signal when marhsalling the arguments from
+ the service. Fix a bug where the code checking signature length
+ against argument length referenced the wrong variable.
+
+ * python/introspect_parser.py: Avoid adding the type signature of
+ signal arguments to any methods which occur after them in the
+ introspection data (!) by making the parser a little more careful
+ about its current state.
+
+ * python/service.py: Remove debug prints from last commit (again :D).
+
+ * test/python/test-client.py, test/python/test-service.py: Add test
+ signals with signature decorators to test the strict marshalling code
+ gives errors at the right time. Could do with checking the signals
+ actually get emitted too, given that the test does nothing with
+ signals at the moment...
+
+2005-11-07 Robert McQueen <robot101@debian.org>
+
+ * python/_dbus.py: Add WeakReferenceDictionary cache of dbus.Bus
+ instances to stop madness of creating new instances representing
+ the same bus connection all the time, rendering any tracking of
+ match rules and bus names quite meaningless. Caught a bug where
+ the private argument to SessionBus() and friends was being passed
+ in as use_default_mainloop by mistake. Still some problems with
+ multiple dbus_binding.Connection instances representing the same
+ low-level connection (eg when you use both SessionBus() and
+ StarterBus() in same process), but it's a lot better now than it
+ was.
+
+ * python/dbus_bindings.pyx: Add constants with the return values
+ for bus_request_name().
+
+ * python/service.py: Store bus name instances in a per-dbus.Bus cache
+ and retrieve the same instances for the same name, so deletion can be
+ done with refcounting. Also now throws some kind of error if you
+ don't actually get the name you requested, unlike previously...
+
+ * test/python/test-client.py: Add tests for instance caching of buses
+ and bus name objects.
+
+2005-11-04 Robert McQueen <robot101@debian.org>
+
+ * python/dbus_bindings.pyx, test/python/test-client.py: Fix
+ marshalling of boolean values. Add some booleans to the values in
+ the test client.
+
+ * python/decorators.py, python/service.py: Add an 'async_callbacks'
+ argument to the dbus.service.method decorator, which allows you to
+ name arguments to take two callback functions for replying with
+ return values or an exception.
+
+ * test/python/test-client.py, test/python/test-service.py: Add test
+ case using asynchronous method reply functions, both return values and
+ errors, and from within both the function itself and from a mainloop
+ callback.
+
+ * python/decorators.py, python/service.py: Perform checking that the
+ number of method/signal arguments matches the number of types in the
+ signature at class loading time, not when you first introspect the
+ class.
+
+ * python/service.py: Remove debug print left by the last commit.
+
+2005-11-03 Robert McQueen <robot101@debian.org>
+
+ * python/service.py: Heavy refactoring of method invocation, with
+ hopefully no effect on functionality. Nuked _dispatch_dbus_method_call
+ in favour of a new _message_cb that uses seperate functions for
+ looking up the method to call, marshalling the return values, and
+ sending exceptions as errors, and is easier to follow as a
+ consequence. Fixes some corner cases about returning things that
+ don't match your declared out_signature, allows exceptions to define
+ _dbus_error_name and have it be sent over the bus as the error name,
+ and paves the way for cool stuff like heeding the message no reply
+ flag, asynchronous method implementations, informing the method of the
+ sender, and including backtraces in the error messages.
+
+ * test/python/test-client.py: Catch and print exceptions thrown in the
+ async callback tests, rather than passing them to the low-level
+ bindings to be ignored in a noisy and frustrating manner.
+
+2005-11-03 Robert McQueen <robot101@debian.org>
+
+ * python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
+ functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
+ tweak others to be consistent.
+
+ * test/python/test-client.py: Tweak output of testInheritance.
+
+2005-10-29 Robert McQueen <robot101@debian.org>
+
+ * python/service.py: Major changes to allow multiple inheritance
+ from classes that define D-Bus interfaces:
+
+ 1. Create a new Interface class which is the parent class of
+ Object, and make the ObjectType metaclass into InterfaceType.
+
+ 2. Patch written with Rob Taylor to replace use of method_vtable
+ with code that walks the class's __MRO__ (method resolution order)
+ to behave like Python does when invoking methods and allow
+ overriding as you'd expect. Code is quite tricky because
+ we have to find two methods, the one to invoke which has the
+ right name and isn't decorated with the /wrong/ interface,
+ and the one to pick up the signatures from which is decorated
+ with the right interface.
+
+ The same caveats apply as to normal multiple inheritance -
+ this has undefined behaviour if you try and inherit from two
+ classes that define a method with the same name but are
+ decorated with different interfaces. You should decorate
+ your overriding method with the interface you want.
+
+ 3. Replace grungy introspection XML generation code in the metaclass
+ with dictionaries that cope correctly with multiple inheritance
+ and the overriding of methods. This also uses the signature
+ decorations to provide correct introspection data, including
+ the debut appearance of the types of your return values. :D
+
+ * test/python/test-client.py, test/python/test-service.py: Add a test
+ case to try invoking an method that overrides one inherited from a
+ D-Bus interface class.
+
2005-10-29 Robert McQueen <robot101@debian.org>
* python/dbus_bindings.pyx: Tweak 'raise AssertionError' to assert().