Thiago Macieira [Sat, 29 Apr 2006 12:49:21 +0000 (12:49 +0000)]
* qt/examples/dbus.cpp: Enhance error messages and use
QDBusInterfacePtr.
Thiago Macieira [Sat, 29 Apr 2006 12:44:31 +0000 (12:44 +0000)]
* 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)
Thiago Macieira [Sat, 29 Apr 2006 10:07:42 +0000 (10:07 +0000)]
* qt/qdbusintegrator.cpp: Fix assertion failure spotted by
Brad Hards.
Robert McQueen [Fri, 28 Apr 2006 21:11:28 +0000 (21:11 +0000)]
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.
Robert McQueen [Fri, 28 Apr 2006 21:02:16 +0000 (21:02 +0000)]
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.
Robert McQueen [Fri, 28 Apr 2006 20:36:56 +0000 (20:36 +0000)]
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.
Robert McQueen [Fri, 28 Apr 2006 20:09:17 +0000 (20:09 +0000)]
2005-04-28 Robert McQueen <robot101@debian.org>
* qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
to qdbusconnection_p.moc.
John (J5) Palmieri [Mon, 24 Apr 2006 15:28:42 +0000 (15:28 +0000)]
2006-04-24 John (J5) Palmieri <johnp@redhat.com>
* README, INSTALL: Doc fixes
Patch from Brad Hards <bradh at frogmouth.net>
Thiago Macieira [Sun, 23 Apr 2006 19:06:55 +0000 (19:06 +0000)]
* qt/examples/dbus.cpp: Use the new merged-interface mode for
the dynamic meta object. No need to guess which interface to
call.
Thiago Macieira [Sun, 23 Apr 2006 19:04:53 +0000 (19:04 +0000)]
* 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.
Thiago Macieira [Sun, 23 Apr 2006 18:54:47 +0000 (18:54 +0000)]
* 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.
Thiago Macieira [Sun, 23 Apr 2006 15:17:28 +0000 (15:17 +0000)]
* 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)
John (J5) Palmieri [Wed, 19 Apr 2006 19:08:23 +0000 (19:08 +0000)]
2006-04-19 John (J5) Palmieri <johnp@redhat.com>
* dbus/dbus-connection.c: Fix asserts
Patch from Tim Moloney <t.moloney at verizon.net>
John (J5) Palmieri [Wed, 19 Apr 2006 16:02:24 +0000 (16:02 +0000)]
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)
Thiago Macieira [Mon, 17 Apr 2006 19:31:49 +0000 (19:31 +0000)]
* INSTALL: fine-tune the requirements for the Qt4 binding.
Daniel P. Berrange [Sun, 16 Apr 2006 18:14:51 +0000 (18:14 +0000)]
Added support for printing of all remaining data types. Fixed logic for indentation of compound data types.
Daniel P. Berrange [Sun, 16 Apr 2006 17:53:45 +0000 (17:53 +0000)]
Fill out content for INSTALL file with useful info on building DBus & generic Auto* instructions
Thiago Macieira [Thu, 13 Apr 2006 17:36:03 +0000 (17:36 +0000)]
* qt/qdbusintegrator.cpp: Work around g++ 3.3 bug.
Patch by Stefan Eilers. (r529537)
Thiago Macieira [Thu, 13 Apr 2006 17:34:18 +0000 (17:34 +0000)]
* qt/qdbusinternalfilters.cpp: Don't show the parent's
contents (r528208)
Thiago Macieira [Mon, 10 Apr 2006 15:38:58 +0000 (15:38 +0000)]
* 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.
Thiago Macieira [Mon, 10 Apr 2006 10:56:50 +0000 (10:56 +0000)]
* qt/examples/listnames.cpp:
* qt/examples/Makefile.am: Three ways to list the names on the
bus.
Thiago Macieira [Mon, 10 Apr 2006 10:51:56 +0000 (10:51 +0000)]
* test/qt/tst_hal.cpp: Remove the waiting, since it's not
needed anymore. Requires Qt 4.1.3 to work properly. (r528148)
Thiago Macieira [Mon, 10 Apr 2006 10:49:36 +0000 (10:49 +0000)]
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)
Thiago Macieira [Tue, 28 Mar 2006 19:16:35 +0000 (19:16 +0000)]
* 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.
Thiago Macieira [Tue, 28 Mar 2006 19:14:56 +0000 (19:14 +0000)]
* configure.in: Detect QtGui (necessary for one of the
example programs). Note: this increases the minimum required
version of Qt to 4.1.3.
Thiago Macieira [Tue, 28 Mar 2006 18:58:58 +0000 (18:58 +0000)]
* 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.
Thiago Macieira [Tue, 28 Mar 2006 18:56:08 +0000 (18:56 +0000)]
* 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.
John (J5) Palmieri [Fri, 17 Mar 2006 03:20:14 +0000 (03:20 +0000)]
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
Ross Burton [Fri, 10 Mar 2006 17:29:48 +0000 (17:29 +0000)]
2006-03-10 Ross Burton <ross@openedhand.com>
* tools/dbus-print-message.c:
Add support for object paths and signatures.
Sjoerd Simons [Mon, 6 Mar 2006 19:06:45 +0000 (19:06 +0000)]
* 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.
Thiago Macieira [Mon, 6 Mar 2006 15:27:56 +0000 (15:27 +0000)]
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.
Thiago Macieira [Mon, 6 Mar 2006 14:30:52 +0000 (14:30 +0000)]
2006-03-06 Thiago Macieira <thiago.macieira@trolltech.com>
* test/qt/*: Update the self-tests.
Thiago Macieira [Mon, 6 Mar 2006 14:29:39 +0000 (14:29 +0000)]
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.
Thiago Macieira [Mon, 6 Mar 2006 14:28:20 +0000 (14:28 +0000)]
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.
John (J5) Palmieri [Thu, 2 Mar 2006 23:28:18 +0000 (23:28 +0000)]
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>)
John (J5) Palmieri [Thu, 2 Mar 2006 22:24:28 +0000 (22:24 +0000)]
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.
Thiago Macieira [Tue, 28 Feb 2006 14:19:55 +0000 (14:19 +0000)]
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.
Havoc Pennington [Sun, 26 Feb 2006 08:11:03 +0000 (08:11 +0000)]
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
Havoc Pennington [Sun, 26 Feb 2006 01:06:33 +0000 (01:06 +0000)]
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
Thiago Macieira [Sat, 25 Feb 2006 19:54:56 +0000 (19:54 +0000)]
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.
Havoc Pennington [Sat, 25 Feb 2006 18:34:12 +0000 (18:34 +0000)]
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
John (J5) Palmieri [Fri, 24 Feb 2006 18:20:45 +0000 (18:20 +0000)]
- Bump release
John (J5) Palmieri [Fri, 24 Feb 2006 18:18:41 +0000 (18:18 +0000)]
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
John (J5) Palmieri [Fri, 24 Feb 2006 16:13:08 +0000 (16:13 +0000)]
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
Thiago Macieira [Mon, 20 Feb 2006 13:30:42 +0000 (13:30 +0000)]
Emacs is too smart for its own good. Revert its automatic changes.
Thiago Macieira [Mon, 20 Feb 2006 13:23:11 +0000 (13:23 +0000)]
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.
Robert McQueen [Fri, 17 Feb 2006 00:04:38 +0000 (00:04 +0000)]
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.
Robert McQueen [Thu, 16 Feb 2006 01:13:04 +0000 (01:13 +0000)]
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.
Robert McQueen [Thu, 16 Feb 2006 00:43:41 +0000 (00:43 +0000)]
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.
Robert McQueen [Wed, 15 Feb 2006 23:45:50 +0000 (23:45 +0000)]
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.
John (J5) Palmieri [Wed, 15 Feb 2006 21:44:11 +0000 (21:44 +0000)]
* remove line from ChangeLog which was an artifact of an update conflict
John (J5) Palmieri [Wed, 15 Feb 2006 21:42:54 +0000 (21:42 +0000)]
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
Thiago Macieira [Wed, 15 Feb 2006 17:06:41 +0000 (17:06 +0000)]
Add new tests and update the existing one.
Havoc Pennington [Wed, 15 Feb 2006 16:38:11 +0000 (16:38 +0000)]
add dispatch recursion item to TODO
Thiago Macieira [Wed, 15 Feb 2006 16:25:12 +0000 (16:25 +0000)]
Merge the changes to the bindings from the KDE Subversion server.
This is a major change: library is source- and binary-incompatible to
what it used to be.
All testcases are green, functionality is preserved.
It is not feature-complete. Development will continue in the branch in the
Subversion server for a while.
Thiago Macieira [Wed, 15 Feb 2006 16:21:59 +0000 (16:21 +0000)]
Unclutter and upgrade the test to Qt 4.1. We now link to QtXml too.
Robert McQueen [Mon, 13 Feb 2006 22:30:11 +0000 (22:30 +0000)]
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.
John (J5) Palmieri [Mon, 13 Feb 2006 21:01:32 +0000 (21:01 +0000)]
2006-02-13 John (J5) Palmieri <johnp@redhat.com>
* tools/dbus-launch.c: Fixed sh syntax output
John (J5) Palmieri [Fri, 10 Feb 2006 22:36:57 +0000 (22:36 +0000)]
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>
John (J5) Palmieri [Fri, 10 Feb 2006 21:47:10 +0000 (21:47 +0000)]
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>
John (J5) Palmieri [Fri, 10 Feb 2006 21:44:15 +0000 (21:44 +0000)]
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>
John (J5) Palmieri [Fri, 10 Feb 2006 21:28:52 +0000 (21:28 +0000)]
2006-02-10 John (J5) Palmieri <johnp@redhat.com>
* tools/dbus-launch.c: Fixed csh syntax output (Bug #5720)
John (J5) Palmieri [Fri, 10 Feb 2006 20:57:10 +0000 (20:57 +0000)]
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>
Joe Shaw [Thu, 9 Feb 2006 19:57:42 +0000 (19:57 +0000)]
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.
Robert McQueen [Fri, 27 Jan 2006 16:40:54 +0000 (16:40 +0000)]
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.
Robert McQueen [Fri, 27 Jan 2006 15:40:36 +0000 (15:40 +0000)]
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.
Robert McQueen [Fri, 27 Jan 2006 15:15:16 +0000 (15:15 +0000)]
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 ().
Robert McQueen [Fri, 27 Jan 2006 15:06:55 +0000 (15:06 +0000)]
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.
Harald Fernengel [Sun, 22 Jan 2006 19:45:14 +0000 (19:45 +0000)]
compile on 64-bit systems
Harald Fernengel [Sun, 22 Jan 2006 19:42:18 +0000 (19:42 +0000)]
convert to QTestLib 4.1
Harald Fernengel [Sun, 22 Jan 2006 19:42:00 +0000 (19:42 +0000)]
allow linking to debug Qt libraries, use QTestLib >= 4.1
Robert McQueen [Thu, 19 Jan 2006 02:54:07 +0000 (02:54 +0000)]
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).
Robert McQueen [Thu, 5 Jan 2006 20:22:06 +0000 (20:22 +0000)]
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.
Robert McQueen [Thu, 5 Jan 2006 20:03:38 +0000 (20:03 +0000)]
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.
John (J5) Palmieri [Mon, 19 Dec 2005 23:58:22 +0000 (23:58 +0000)]
* dbus/dbus-shared.h: Call it shared constants instead of shared macros
* dbus/dbus-protocol.h: add DOxygen markup to quiet warnings
John (J5) Palmieri [Mon, 19 Dec 2005 23:45:13 +0000 (23:45 +0000)]
- Add doxygen markup to quite warnings
John (J5) Palmieri [Mon, 19 Dec 2005 22:06:24 +0000 (22:06 +0000)]
* dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@})
Ross Burton [Mon, 19 Dec 2005 18:11:05 +0000 (18:11 +0000)]
Add documentation on glib client bindings and annotations
John (J5) Palmieri [Mon, 19 Dec 2005 15:11:51 +0000 (15:11 +0000)]
* dbus/bus.c (dbus_bus_release_name): Add documentation
Robert McQueen [Tue, 6 Dec 2005 12:38:07 +0000 (12:38 +0000)]
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.
Havoc Pennington [Thu, 1 Dec 2005 05:42:03 +0000 (05:42 +0000)]
fix file list in update-dbus-docs.sh
John (J5) Palmieri [Thu, 1 Dec 2005 00:07:20 +0000 (00:07 +0000)]
* 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
* dbus/dbus-list.c (link_after): remove #ifdef DBUS_BUILD_TESTS
John (J5) Palmieri [Wed, 30 Nov 2005 21:23:12 +0000 (21:23 +0000)]
* dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after):
remove #ifdef DBUS_BUILD_TESTS since we use these methods in production code
John (J5) Palmieri [Wed, 30 Nov 2005 20:30:02 +0000 (20:30 +0000)]
* 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.
John (J5) Palmieri [Wed, 30 Nov 2005 20:14:30 +0000 (20:14 +0000)]
* 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>)
John (J5) Palmieri [Wed, 30 Nov 2005 19:32:27 +0000 (19:32 +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 <kmaraas at gnome.org>)
John (J5) Palmieri [Wed, 30 Nov 2005 18:48:11 +0000 (18:48 +0000)]
* glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak
(patch from Carlos Garnacho Parro <carlosg at gnome.org>
Robert McQueen [Sun, 27 Nov 2005 17:44:19 +0000 (17:44 +0000)]
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.
Robert McQueen [Sun, 27 Nov 2005 16:55:09 +0000 (16:55 +0000)]
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
Robert McQueen [Sun, 27 Nov 2005 16:40:57 +0000 (16:40 +0000)]
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.
John (J5) Palmieri [Tue, 22 Nov 2005 20:42:49 +0000 (20:42 +0000)]
* configure.in:
- Change version to 0.60 for impending release
- upped the sonames because of ABI and API breakage
John (J5) Palmieri [Tue, 22 Nov 2005 20:37:00 +0000 (20:37 +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
Robert McQueen [Tue, 15 Nov 2005 19:34:33 +0000 (19:34 +0000)]
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.
Robert McQueen [Tue, 15 Nov 2005 17:19:19 +0000 (17:19 +0000)]
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.
Robert McQueen [Mon, 14 Nov 2005 20:59:32 +0000 (20:59 +0000)]
2005-11-15 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_
David Zeuthen [Mon, 14 Nov 2005 20:51:25 +0000 (20:51 +0000)]
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.
Robert McQueen [Mon, 14 Nov 2005 02:53:30 +0000 (02:53 +0000)]
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.
John (J5) Palmieri [Mon, 7 Nov 2005 21:57:13 +0000 (21:57 +0000)]
* 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
Robert McQueen [Mon, 7 Nov 2005 15:31:30 +0000 (15:31 +0000)]
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...
Robert McQueen [Mon, 7 Nov 2005 12:14:53 +0000 (12:14 +0000)]
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.