mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-05 04:08:12 +02:00
2004-07-12 Seth Nickell <seth@gnome.org>
* python/dbus.py: Add message argument to the default object_method_handler function. * python/dbus_bindings.pyx.in: Automatically return NIL when passed an empty list (we can't pass back a list since lists are typed and we don't have any idea what type the the client intended the list to be... :-( )
This commit is contained in:
parent
dd4ff748c1
commit
5afe4265ea
3 changed files with 31 additions and 13 deletions
14
ChangeLog
14
ChangeLog
|
|
@ -1,3 +1,17 @@
|
|||
2004-07-12 Seth Nickell <seth@gnome.org>
|
||||
|
||||
* python/dbus.py:
|
||||
|
||||
Add message argument to the default object_method_handler
|
||||
function.
|
||||
|
||||
* python/dbus_bindings.pyx.in:
|
||||
|
||||
Automatically return NIL when passed an empty list
|
||||
(we can't pass back a list since lists are typed
|
||||
and we don't have any idea what type the the client
|
||||
intended the list to be... :-( )
|
||||
|
||||
2004-07-10 Seth Nickell <seth@gnome.org>
|
||||
|
||||
* python/examples/Makefile.am:
|
||||
|
|
|
|||
|
|
@ -337,7 +337,7 @@ class ObjectTree:
|
|||
message = dbus_bindings.Signal(object_path, interface, signal_name)
|
||||
self._connection.send(message)
|
||||
|
||||
def object_method_called(self, relative_path, method_name, argument_list):
|
||||
def object_method_called(self, message, relative_path, method_name, argument_list):
|
||||
"""Override this method. Called with, object_path, the relative path of the object
|
||||
under the base_path, the name of the method invoked, and a list of arguments
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -614,19 +614,23 @@ cdef class MessageIter:
|
|||
elif value_type == dict:
|
||||
retval = self.append_dict(value)
|
||||
elif value_type == list:
|
||||
if (len(value) == 0):
|
||||
raise TypeError, "Empty lists are currently not supported, return None instead"
|
||||
list_type = type(value[0])
|
||||
if list_type == str:
|
||||
self.append_string_array(value)
|
||||
elif list_type == int:
|
||||
self.append_int32_array(value)
|
||||
elif list_type == float:
|
||||
self.append_double_array(value)
|
||||
elif isinstance(value[0], ObjectPath):
|
||||
self.append_object_path_array(value)
|
||||
if len(value) == 0:
|
||||
# Empty lists are currently not supported, returning None instead
|
||||
retval = self.append(None)
|
||||
else:
|
||||
raise TypeError, "List of unknown type '%s'" % (list_type)
|
||||
list_type = type(value[0])
|
||||
if list_type == str:
|
||||
self.append_string_array(value)
|
||||
elif list_type == int:
|
||||
self.append_int32_array(value)
|
||||
elif list_type == float:
|
||||
self.append_double_array(value)
|
||||
elif isinstance(value[0], ObjectPath):
|
||||
self.append_object_path_array(value)
|
||||
else:
|
||||
raise TypeError, "List of unknown type '%s'" % (list_type)
|
||||
elif value_type == None.__class__:
|
||||
retval = self.append_nil()
|
||||
elif isinstance(value, ObjectPath):
|
||||
retval = self.append_object_path(value)
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue