如何在python-dbus中处理类作为数据类型

时间:2012-11-07 09:49:52

标签: python dbus

我是python和dbus的新手,但是有没有通过dbus-python进行数据绑定(=发送和接收方式)python类?

我的班级看起来像这样:

class Item:

    def __init__(self, one, two, three, four, five, *more):
        self.one= one
        self.two= two
        self.three= three
        self.four= four
        self.five= five
        self.more= more

其中更多是列表,而1到5是字符串。我有这些项目的清单:

list_items = []
list_items.append(Item('Test','Test','Test','Test',more))

dbus部分看起来像这样:

@dbus.service.method('com.me.test', in_signature='', out_signature='a(sssssav)')
def get_all_items():
    return list_items

我的签名是否有错误,或者我是否必须使用可以编组的其他数据结构(元组?)?

1 个答案:

答案 0 :(得分:0)

您可以始终使用picklemarshal并将您的数据作为例如一个字节串。 否则,您可以通过从dbus.service.Object继承来替代地创建自己的DBus-Object。我会和前者一起去......