diff options
Diffstat (limited to 'python')
-rw-r--r-- | python/dbus_bindings.pyx | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/python/dbus_bindings.pyx b/python/dbus_bindings.pyx index 8b1b221b..3bde96a1 100644 --- a/python/dbus_bindings.pyx +++ b/python/dbus_bindings.pyx @@ -1053,7 +1053,10 @@ cdef class MessageIter: tmp_sig = sig[1:-1] retval = self.append_struct(value, signature = tmp_sig) elif sig_type == TYPE_VARIANT: - retval = self.append_variant(Variant(value)) + if isinstance(value, Variant): + retval = self.append_variant(value) + else: + retval = self.append_variant(Variant(value)) elif sig_type == DICT_ENTRY_BEGIN: raise TypeError, "Signiture is invalid in append_strict. A dict entry must be part of an array." else: @@ -1137,14 +1140,14 @@ cdef class MessageIter: return dbus_message_iter_append_basic(self.iter, TYPE_BYTE, <char *>&b) def append_int16(self, value): - cdef dbus_int32_t c_value + cdef dbus_int16_t c_value c_value = value - return dbus_message_iter_append_basic(self.iter, TYPE_INT16, <dbus_int32_t *>&c_value) + return dbus_message_iter_append_basic(self.iter, TYPE_INT16, <dbus_int16_t *>&c_value) def append_uint16(self, value): - cdef dbus_uint32_t c_value + cdef dbus_uint16_t c_value c_value = value - return dbus_message_iter_append_basic(self.iter, TYPE_UINT16, <dbus_uint32_t *>&c_value) + return dbus_message_iter_append_basic(self.iter, TYPE_UINT16, <dbus_uint16_t *>&c_value) def append_int32(self, value): cdef dbus_int32_t c_value @@ -1359,6 +1362,12 @@ cdef class MessageIter: elif type == TYPE_OBJECT_PATH: path = iter.get_object_path() arg = 'object_path:%s\n' % (path) + elif type == TYPE_INT16: + num = iter.get_int16() + arg = 'int16:%d\n' % (num) + elif type == TYPE_UINT16: + num = iter.get_uint16() + arg = 'uint16:%u\n' % (num) elif type == TYPE_INT32: num = iter.get_int32() arg = 'int32:%d\n' % (num) @@ -1748,8 +1757,9 @@ def bus_register(Connection connection): return retval -NAME_FLAG_PROHIBIT_REPLACEMENT = 0x1 +NAME_FLAG_ALLOW_REPLACEMENT = 0x1 NAME_FLAG_REPLACE_EXISTING = 0x2 +NAME_FLAG_DO_NOT_QUEUE = 0x4 REQUEST_NAME_REPLY_PRIMARY_OWNER = 1 REQUEST_NAME_REPLY_IN_QUEUE = 2 |