2005-11-03 Robert McQueen <robot101@debian.org>
authorRobert McQueen <robot101@debian.org>
Thu, 3 Nov 2005 21:47:31 +0000 (21:47 +0000)
committerRobert McQueen <robot101@debian.org>
Thu, 3 Nov 2005 21:47:31 +0000 (21:47 +0000)
commite20c311b131246019ade0c964596a7fda758de68
tree030e8ce3841d5ac900e7ffce465d7a48a5d2bfc7
parent9d0ab378067cd59e12a1ba2671c353e4a8bce356
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.
ChangeLog
python/service.py
test/python/test-client.py