Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QDBusConnection类代表到D - Bus总线守护进程的连接。More...
该QDBusConnection类代表到D - Bus总线守护进程的连接。
这个类是在一个D-Bus的会话初始点。使用它,你可以访问远程对象,接口,连接远程信号传送到对象的插槽;注册对象,等等。
使用创建的D-Bus连接的connectToBus( )函数,该函数打开一个到服务器守护程序的连接,并执行初始握手,与相关联的名称连接。进一步尝试使用相同的名称来连接将返回相同的连接。
的连接,然后扯下使用disconnectFromBus()函数。
一旦断开连接,调用connectToBus( )将不会重新建立连接,必须创建一个新的QDBusConnection实例。
为了方便的两个最常见的连接类型,sessionBus()和systemBus( )函数返回打开连接到会话服务器守护程序和系统服务器守护程序,分别。这些连接被打开第一次使用时和关闭时的QCoreApplication析构函数被执行。
D-Bus的还支持对等网络连接,而不需要一个总线服务器守护程序。使用这种设备,两个应用程序可以相互交谈并交换信息。这可以通过传递一个地址来实现connectToBus( )函数,它是由另一个D-Bus的应用程序中使用QDBusServer打开。
指定的总线连接的类型。有效的总线类型包括:
Constant | Value | Description |
---|---|---|
QDBusConnection.SessionBus | 0 | 会话总线,与正在运行的桌面会话相关联 |
QDBusConnection.SystemBus | 1 | 系统总线,搭配全系统进程进行通信 |
QDBusConnection.ActivationBus | 2 | 激活总线, “别名”为启动该服务总线 |
在会话总线,可以由共享同一桌面会话(因此得名)同一用户找到其他应用程序。在系统总线,但是,对于整个系统共享流程通常发现。
这个枚举变量描述了一个D-Bus的连接可用的功能。
Constant | Value | Description |
---|---|---|
QDBusConnection.UnixFileDescriptorPassing | 0x0001 | 能够通过Unix的文件描述符给其他进程(见QDBusUnixFileDescriptor) |
这个枚举被引入或修改的Qt 4.8 。
该ConnectionCapabilities类型是一个typedef为QFlags\u003cConnectionCapability\u003e 。它存储ConnectionCapability值的或组合。
See also connectionCapabilities( ) 。
指定与连接对象注册的选项。可能的值有:
Constant | Value | Description |
---|---|---|
QDBusConnection.ExportAdaptors | 0x01 | 导出适配器在这个对象中找到的内容 |
QDBusConnection.ExportScriptableSlots | 0x10 | 导出此对象的可编写脚本的插槽 |
QDBusConnection.ExportScriptableSignals | 0x20 | 导出此对象的脚本化的信号 |
QDBusConnection.ExportScriptableProperties | 0x40 | 导出此对象的脚本属性 |
QDBusConnection.ExportScriptableInvokables | 0x80 | 导出此对象的可编写脚本invokables |
QDBusConnection.ExportScriptableContents | 0xf0 | 简写形式ExportScriptableSlots | ExportScriptableSignals | ExportScriptableProperties |
QDBusConnection.ExportNonScriptableSlots | 0x100 | 导出此对象的非脚本化的插槽 |
QDBusConnection.ExportNonScriptableSignals | 0x200 | 导出此对象的非脚本化的信号 |
QDBusConnection.ExportNonScriptableProperties | 0x400 | 导出此对象的非脚本化的属性 |
QDBusConnection.ExportNonScriptableInvokables | 0x800 | 导出此对象的非脚本化的invokables |
QDBusConnection.ExportNonScriptableContents | 0xf00 | 简写形式ExportNonScriptableSlots | ExportNonScriptableSignals | ExportNonScriptableProperties |
QDBusConnection.ExportAllSlots | ExportScriptableSlots | ExportNonScriptableSlots | 导出所有该对象的插槽 |
QDBusConnection.ExportAllSignals | ExportScriptableSignals | ExportNonScriptableSignals | 导出所有该对象的信号 |
QDBusConnection.ExportAllProperties | ExportScriptableProperties | ExportNonScriptableProperties | 导出所有的此对象的属性 |
QDBusConnection.ExportAllInvokables | ExportScriptableInvokables | ExportNonScriptableInvokables | 导出所有该对象的invokables |
QDBusConnection.ExportAllContents | ExportScriptableContents | ExportNonScriptableContents | 导出所有该对象的内容 |
QDBusConnection.ExportChildObjects | 0x1000 | 导出此对象的子对象 |
该RegisterOptions类型是一个typedef为QFlags\u003cRegisterOption\u003e 。它存储使用registerOption值的或组合。
See also registerObject( )QDBusAbstractAdaptor和Using adaptors。
该模式用于注销一个对象路径:
Constant | Value | Description |
---|---|---|
QDBusConnection.UnregisterNode | 0 | 注销这个节点只有:不取消注册子对象 |
QDBusConnection.UnregisterTree | 1 | 注销此节点及其所有子树 |
但是请注意,如果该对象被注册了ExportChildObjects选项, UnregisterNode将注销子对象了。
创建QDBusConnection附加到名称与连接对象name。
这不打开连接。你必须调用connectToBus()将其打开。
创建的副本other连接。
发送message在紧接该连接并返回。此功能适用于方法只调用。它返回类型的对象QDBusPendingCall它可以被用来跟踪应答的状态。
如果没有答复内收到timeout毫秒为单位,自动误差将交付指示呼叫期满。默认timeout是-1,这将被替换为一个实现定义的值,是适合进程间通信(通常25秒) 。此超时也是在等待QDBusPendingCall.waitForFinished ( )的上限。
请参阅QDBusInterface.asyncCall( )函数用于发出呼叫的一个更友好的方式。
此功能被引入Qt的4.5 。
返回此连接的唯一连接的名称,如果这QDBusConnection对象连接,或空QString否则。
唯一的连接名称是一个字符串形式“ : x.xxx ” (其中x是十进制数字) ,是由D-Bus的服务器守护程序在连接时分配。它唯一标识此客户端的总线。
这个函数返回一个空的QString为对等连接。
发送message在这方面,板块,等待答复,顶多timeout毫秒。此功能适用于方法只调用。它返回的应答消息作为它的返回值,这将是两种类型的QDBusMessage.ReplyMessage or QDBusMessage.ErrorMessage。
如果没有答复内收到timeout毫秒为单位,自动误差将交付指示呼叫期满。默认timeout是-1,这将被替换为一个实现定义的值,是适合进程间通信(通常25秒) 。
请参阅QDBusInterface.call( )函数用于发出呼叫的一个更友好的方式。
Warning: If mode is QDBus.BlockWithGui,此功能将重新进入,以等待答复Qt的事件循环。在等待期间,它可能会带来信号和其他方法调用您的应用程序。因此,它必须准备处理重入每当一个呼叫被置于与()的调用。
发送message在紧接该连接并返回。当应答被接收时,该方法returnMethod被称为在receiver对象。如果发生错误,则该方法errorMethod将被调用来代替。
如果没有答复内收到timeout毫秒为单位,自动误差将交付指示呼叫期满。默认timeout是-1,这将被替换为一个实现定义的值,是适合进程间通信(通常25秒) 。
此功能适用于方法只调用。这是保证的时隙将被调用一次的答复,只要在参数类型匹配,并且不会发生错误。
返回True如果消息被发送,或假,如果无法发送邮件。
此功能已被弃用。
这是一个重载函数。
发送message在紧接该连接并返回。当应答被接收时,该方法returnMethod被称为在receiver对象。
此功能适用于方法只调用。这是保证的时隙将被调用一次的答复,只要在参数类型匹配,并且不会发生错误。
这个函数是危险的,因为它不能报告错误,包括超时期满。
返回True如果消息被发送,或假,如果无法发送邮件。
连接由指定的信号service,path,interface和name参数到槽slot在对象receiver。该参数service和path可以为空,表示到的(任何信号的连接interface,name)对,从任何远程应用程序。
返回True如果连接成功。
Warning:该信号将只被传递到时隙,如果参数匹配。该验证可以做到在接收到信号,只有当,而不是在连接时间。
这是一个重载函数。
该信号连接到槽slot在对象receiver。不同于以往的connect()过载时,此功能允许一个使用指定参数签名要连接的signature变量。该函数将验证这个签名可以传送到指定的插槽由slot并返回,否则返回False 。
返回True如果连接成功。
Note:此功能验证信号的签名相匹配的插槽的参数,但它不会验证与远程服务给定的签名存在的实际信号。
这是一个重载函数。
该信号连接到槽slot在对象receiver。不同于以往的connect()过载时,此功能允许一个使用指定参数签名要连接的signature变量。该函数将验证这个签名可以传送到指定的插槽由slot并返回,否则返回False 。
该argumentMatch参数列出了要匹配的字符串参数,按顺序。需要注意的是,要匹配一个空字符串,你需要传递一个QString那是空的,但不为空(即,QString(“” ))。空QString跳过该位置匹配。
返回True如果连接成功。
Note:此功能验证信号的签名相匹配的插槽的参数,但它不会验证与远程服务给定的签名存在的实际信号。
此功能被引入Qt的4.6 。
返回此连接的能力,谈判与总线的服务器或对等。如果这QDBusConnection没有连接,这个函数没有返回的能力。
此功能被引入Qt的4.8 。
打开型的连接type对已知的总线和联营公司与它的连接名称中的一个name。返回QDBusConnection与该连接相关联的对象。
打开上的地址到私有总线的连接address和与它相关联的连接名称name。返回QDBusConnection与该连接相关联的对象。
打开上地址的对等连接address和与它相关联的连接名称name。返回QDBusConnection与该连接相关联的对象。
此功能被引入Qt的4.8 。
断开由指定的信号service,path,interface和name从槽参数slot在对象receiver。作为传递给该参数必须相同connect()函数。
返回True如果断开成功。
这是一个重载函数。
断开由指定的信号service,path,interface,name和signature从槽参数slot在对象receiver。作为传递给该参数必须相同connect()函数。
返回True如果断开成功。
这是一个重载函数。
断开由指定的信号service,path,interface,name,argumentMatch和signature从槽参数slot在对象receiver。作为传递给该参数必须相同connect()函数。
返回True如果断开成功。
此功能被引入Qt的4.6 。
关闭的名字总线连接name。
需要注意的是,如果仍有QDBusConnection使用相同的连接相关联的对象,该连接不会被关闭,直到所有引用都将被丢弃。但是,可以使用创建没有进一步的引用QDBusConnection构造函数。
关闭的名义对等连接name。
需要注意的是,如果仍有QDBusConnection使用相同的连接相关联的对象,该连接不会被关闭,直到所有引用都将被丢弃。但是,可以使用创建没有进一步的引用QDBusConnection构造函数。
此功能被引入Qt的4.8 。
返回QDBusConnectionInterface对象,表示该连接的D-Bus的服务器接口。
返回True如果QDBusConnection对象连接。
返回所发生的这方面的最后一个错误。
该功能提供了低级别的代码。如果你使用QDBusInterface.call( ) ,错误代码是报告它的返回值。
See also QDBusInterface和QDBusMessage。
返回已知的D -Bus系统在本地机器的ID 。运行的D-总线的每个节点或主机具有一个唯一的标识符,该标识符可用于从其它主机相区别,如果它们共享资源,如文件系统。
注意,在本地机器ID不保证是整个系统的靴子持久的,所以该标识符不应该被存储在持久性存储器(例如文件系统) 。它是保证只有在此引导会话的生命周期保持不变。
此功能被引入Qt的4.8 。
返回连接名称为这个连接,给出name参数来connectToBus( ) 。
连接名称可以用来唯一标识实际的底层连接到总线。从一个单一的连接制作的复制品总是隐含共享底层的连接,从而将具有相同的连接名称。
相反,两种连接方式具有不同的连接名称将永远既可以连接到不同的总线,或有不同的唯一的名称(如返回的baseService( ) )的总线上。
此功能被引入Qt的4.5 。
See also connectToBus()和disconnectFromBus( ) 。
返回注册到该对象registerObject( )由给定的对象路径path。
登记对象object在路径path如果注册成功则返回True。该options参数指定了对象object将通过D-Bus的暴露。
此功能不会取代现有的对象:如果有已经在路径注册的对象path,这个函数将返回False 。使用unregisterObject( )先注销它。
你不能注册的对象为已注册的对象的子对象QDBusConnection.ExportChildObjects。
尝试注册serviceName在D-Bus的服务器上,如果注册成功则返回True 。如果该名称已被其他应用程序的注册将失败。
See also unregisterService()和QDBusConnectionInterface.registerService( ) 。
发送message在这方面,没有等待答复。本品适用于错误,信号和返回值,以及调用的返回值是没有必要的。
返回True如果消息被排队成功,否则返回False。
返回发送的信号的连接,如果在调用通过激活一个时隙QDBus,否则返回0 。
Note:请避免此功能。这个函数不是线程安全的,所以如果有任何其他线程提供一个D-Bus的调用,此函数可能返回错误的连接。在新的代码,请用QDBusContext.connection( ) (请参阅类关于如何使用它的描述) 。
Warning:此功能不reentrant。
返回QDBusConnection对象打开与会话总线。这个函数返回的对象引用是有效的,直到应用程序终止,在这一点上的连接将被关闭和删除对象。
返回QDBusConnection打开对象与系统总线。这个函数返回的对象引用是有效的,直到QCoreApplication的析构函数被执行,当连接将被关闭和对象,删除。
注销注册到一个对象registerObject( )由给定的对象路径path并且,如果mode is QDBusConnection.UnregisterTree,它的所有子对象了。
请注意,您不能注销了未与登记对象registerObject( ) 。
注销服务serviceName先前与注册registerService( ),如果成功则返回True。
See also registerService()和QDBusConnectionInterface.unregisterService( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |