未提供项目说明

dbus-objects的Python项目详细描述


dbus对象checkstestscodecov

在Python类型系统上实现DBus对象。在

集成:

importrandomfromtypingimportListimportdbus_objects.objectimportdbus_objects.integration.jeepneyclassExampleObject(dbus_objects.object.DBusObject):def__init__(self):super().__init__(default_interface_root='io.github.ffy00.dbus_objects.example')self._bets=[]self._name='something'@dbus_objects.object.dbus_method()defping(self)->str:return'Pong!'@dbus_objects.object.dbus_method()defprint(self,msg:str)->None:print(msg)@dbus_objects.object.dbus_method()defsum(self,a:int,b:int)->int:returna+b@dbus_objects.object.dbus_method()defsave_bet(self,number:int)->None:self._bets.append(number)@dbus_objects.object.dbus_method()defget_bets(self)->List[int]:returnself._bets@dbus_objects.object.dbus_method()deflotery(self)->int:winner=random.choice(self._bets)self._bets=[]returnwinner@dbus_objects.object.dbus_property()defname(self)->str:returnself._name@name.setterdefname(self,value:str):self._name=valueserver=dbus_objects.integration.jeepney.BlockingDBusServer(bus='SESSION',name='io.github.ffy00.dbus-objects')server.register_object('/io/github/ffy00/dbus_objects/example',ExampleObject())server.listen()

此示例将生成以下服务器拓扑:

^{pr2}$

例如,/io/github/ffy00/dbus_objects/example的以下DBus自省XML:

<!DOCTYPE node PUBLIC"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN""http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" ><nodexmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"><interfacename="io.github.ffy00.dbus_objects.example.ExampleObject"><methodname="GetBets"><argdirection="out"type="ai"/></method><methodname="Lotery"><argdirection="out"type="i"/></method><methodname="Ping"><argdirection="out"type="s"/></method><methodname="Print"><argdirection="in"type="s"name="msg"/></method><methodname="SaveBet"><argdirection="in"type="i"name="number"/></method><methodname="Sum"><argdirection="in"type="i"name="a"/><argdirection="in"type="i"name="b"/><argdirection="out"type="i"/></method></interface><interfacename="org.freedesktop.DBus.Properties"><methodname="GetAll"><argdirection="in"type="s"name="interface_name"/><argdirection="out"type="a{sv}"/></method></interface><interfacename="org.freedesktop.DBus.Introspectable"><methodname="Introspect"><argdirection="out"type="s"name="xml"/></method></interface><interfacename="org.freedesktop.DBus.Peer"><methodname="Ping"/></interface></node>

许可证

麻省理工学院

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中从本地文件系统导入文件   spring boot如何在Java SpringBoot项目中集成Olingo(Odata)   java查找连续数组中缺少的第k个元素(超过时间限制)   java为什么在mySql中插入1/2行时会得到2/4行   java不能在静态上下文中使用它   File Observer方法的java My onEvent()部分不起作用   java Netty NioSocketChannel在多线程写入时收到中断消息   java将文件夹与父文件夹一起复制   java我的TictaToe代码出了什么问题?如何检查已采取的措施?   java Swing JTable更新   java如何将cordinates查找为int   如何使用selenium和java在firefox中打开新的空选项卡   java Gradle构建输出Jar未运行   java没有GET/WEBINF/jsp/login的映射。jsp