一种dbus对象的通用创建方法及装置与流程

文档序号:19064377发布日期:2019-11-06 02:09阅读:441来源:国知局
一种dbus对象的通用创建方法及装置与流程

本发明涉及linux系统的d-bus技术领域。本发明进一步涉及一种dbus对象的通用创建方法及装置。



背景技术:

d-bus数据总线是linux系统上一种高级的进程间通信机制,被大多数linux发行版所采用,开发者可使用d-bus实现各种复杂的进程间通信任务。进程间通信指的是两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。dbus对象(dbusobject)是一个抽象概念,即进程在d-bus上注册,创建object,由object来接收信息。

大多数编程语言有dbus的库,程序通过调用相应的接口,完成创建objcet的过程,object由程序本身维护。然而,现有技术中需要通过程序实现创建object的过程,不同service下的object需要调用相应service的接口,编程的逻辑及语言较为繁琐。此外,相似功能的接口分散在不同的程序内,没法统一管理。

因此,需要提出一种解决现有技术中的上述缺点的技术方案,更加便捷地创建object,并且相似功能的object由统一的程序来维护。



技术实现要素:

一方面,本发明基于上述目的提出了一种dbus对象的通用创建方法,包括:

创建管理接口和对象接口;

构建对象参数,该对象参数包括至少一个dbus对象的信息;

在管理接口定义创建函数,该创建函数的输入参数为对象参数,该创建函数的输出参数为dbus对象;

在对象接口添加由创建函数输出的dbus对象;

调用管理接口和对象接口,在管理接口输入对象参数,以在对象接口创建至少一个dbus对象。

根据本发明的dbus对象的通用创建方法的实施例,其中dbus对象的信息包括dbus对象的名称。

根据本发明的dbus对象的通用创建方法的实施例,其中dbus对象的信息进一步包括dbus对象的属性和该属性的值。

根据本发明的dbus对象的通用创建方法的实施例,其中对象参数配置为基于map字典构建,其中字典的key键配置为dbus对象的名称,字典的value值配置为dbus对象的属性和该属性的值或空。

根据本发明的dbus对象的通用创建方法的实施例,其中创建函数配置为根据所输入的对象参数获得至少一个dbus对象的信息,并输出相应的dbus对象。

根据本发明的dbus对象的通用创建方法的实施例,其中方法进一步包括:通过dbus库函数建立与系统总线的连接。

另一方面,本发明还提出了一种dbus对象的通用创建装置,该装置包括:

至少一个处理器;和

存储器,该存储器存储有处理器可运行的程序代码,该程序代码在被处理器运行时执行以下步骤:

创建管理接口和对象接口;

构建对象参数,该对象参数包括至少一个dbus对象的信息;

在管理接口定义创建函数,该创建函数的输入参数为对象参数,该创建函数的输出参数为dbus对象;

在对象接口添加由创建函数输出的dbus对象;

调用管理接口和对象接口,在管理接口输入对象参数,以在对象接口创建至少一个dbus对象。

根据本发明的dbus对象的通用创建装置的实施例,其中创建函数配置为根据所输入的对象参数获得至少一个dbus对象的信息,并输出相应的dbus对象。

根据本发明的dbus对象的通用创建装置的实施例,其中dbus对象的信息包括dbus对象的名称、dbus对象的属性和该属性的值。

根据本发明的dbus对象的通用创建装置的实施例,其中对象参数配置为基于map字典构建,其中字典的key键配置为dbus对象的名称,字典的value值配置为dbus对象的属性和该属性的值或空。

采用上述技术方案,本发明至少具有如下有益效果:在本发明的技术方案中,由所创建的管理接口和对象接口替代不同service下创建dbus对象所调用的不同接口,利用所定义的对象参数将多个dbus对象的信息整合为一个输入参数,通过管理接口所绑定的创建函数生成多个dbus对象。在执行根据本发明的方法创建dbus对象时,只需调用所创建的管理接口和对象接口,输入对象参数,即可代替多个不同service下的接口,根据管理接口的创建函数在对象接口创建多个dbus对象。也就是说,利用本发明的技术方案实现了dbus对象创建的简化,省去了调用不同service下的接口的过程,并且所创建的dbus对象都在同一个接口下,方便查找、维护和管理。

本发明提供了实施例的各方面,不应当用于限制本发明的保护范围。根据在此描述的技术可设想到其它实施方式,这对于本领域普通技术人员来说在研究以下附图和具体实施方式后将是显而易见的,并且这些实施方式意图被包含在本申请的范围内。

下面参考附图更详细地解释和描述了本发明的实施例,但它们不应理解为对于本发明的限制。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对现有技术和实施例描述中所需要使用的附图作简单地介绍,附图中的部件不一定按比例绘制,并且可以省略相关的元件,或者在一些情况下比例可能已经被放大,以便强调和清楚地示出本文描述的新颖特征。另外,如本领域中已知的,结构顺序可以被不同地布置。

在图中:

图1示出了根据本发明的dbus对象的通用创建方法的实施例的示意性框图;和

图2示出了根据本发明的dbus对象的通用创建方法的实施例创建dbus对象的示意图。

具体实施方式

虽然本发明可以以各种形式实施,但是在附图中示出并且在下文中将描述一些示例性和非限制性实施例,但应该理解的是,本公开将被认为是本发明的示例并不意图将本发明限制于所说明的具体实施例。

图1示出了根据本发明的dbus对象的通用创建方法的实施例的示意性框图。如图所示,该方法至少包括以下步骤:

s1:创建管理接口和对象接口;

s2:构建对象参数,该对象参数包括至少一个dbus对象的信息;

s3:在管理接口定义创建函数,该创建函数的输入参数为对象参数,该创建函数的输出参数为dbus对象;

s4:在对象接口添加由创建函数输出的dbus对象;

s5:调用管理接口和对象接口,在管理接口输入对象参数,以在对象接口创建至少一个dbus对象。

根据本发明的构思,利用统一的接口代替不同service下的接口,因此在步骤s1中,创建一对通用的interface接口,即managerinterface管理接口和objectsinterface对象接口,以这两个接口统一创建和管理所有涉及到的dbus对象。

随后在步骤s2中构建对象参数,该对象参数包括至少一个dbus对象的信息。即,规定一个对象参数,其中包括所需创建的所有dbus对象的信息。由此,所有需要创建的dbus对象的信息封装在一个参数中,并且便于后续将所有dbus对象创建在同一个接口下,同时也便于管理。

步骤s2完成对象参数的构建后,步骤s3在步骤s1创建的managerinterface管理接口定义创建函数,该创建函数的输入参数为步骤s2构建的对象参数,该创建函数的输出参数即为所要创建的dbus对象。

由步骤3的创建函数输出的dbus对象随后在步骤s4被添加至步骤s1中所创建的objectsinterface对象接口,以备随后的调用。

完成了上述步骤s1至s4之后,在进行实际的dbus对象创建时,只需调用步骤s1中创建的管理接口和对象接口,输入步骤s2构建的对象参数,即可通过步骤3的创建函数的运算创建至少一个dbus对象。

也就是说,根据本发明的方法,在执行创建dbus对象时,只需调用统一的管理接口和对象接口,输入对象参数,即可代替多个不同service下的接口,根据管理接口的创建函数在对象接口创建多个dbus对象。利用本发明的技术方案实现了dbus对象创建的简化,省去了调用不同service下的接口的过程,并且所创建的dbus对象都在同一个接口下,方便查找、维护和管理。

在本发明的dbus对象的通用创建方法的一些实施例中,步骤2涉及的dbus对象的信息包括dbus对象的名称。在本发明的dbus对象的通用创建方法的又一些实施例中,dbus对象的信息进一步包括dbus对象的属性和该属性的值。也就是说,dbus对象的信息一方面包括dbus对象的名称和可选地包括一个或多个dbus对象的属性和该属性的值;另一方面dbus对象的信息也可以只包括dbus对象的名称,省略dbus对象的属性和该属性的值。

在本发明的dbus对象的通用创建方法的一些实施例中,步骤s2所涉及的对象参数配置为基于map字典构建,其中字典的key键配置为dbus对象的名称,字典的value值配置为dbus对象的属性和该属性的值或空。以以下两个dbus对象为例:第一个dbus对象名称为app1,其第一个属性为property1、该属性的值为value1,其第二个属性为property2、该属性的值为value2,等等;第二个dbus对象名称为app2,其第一个属性为property3、该属性的值为value3,其第二个属性为property4、该属性的值为value4,等等。以创建至少上述两个dbus对象为例所涉及的对象参数格式示例如下:

在本发明的dbus对象的通用创建方法的若干实施例中,创建函数配置为根据所输入的对象参数,获得至少一个dbus对象的信息,输出相应的dbus对象。步骤s3的创建函数从输入参数即对象参数中提取至少一个优选多个dbus对象的信息,根据相应的运算过程根据对象参数中的至少一个优选多个dbus对象的信息,输出相应地至少一个优选多个dbus对象。

图2示出了根据本发明的dbus对象的通用创建方法的实施例创建dbus对象的示意图。在图2所示的实施例中通过调用managerinterface管理接口和objectsinterface对象接口,在managerinterface管理接口输入四个dbus对象的信息,并且由managerinterface管理接口将输出的相应的四个dbus对象添加至objectsinterface对象接口。至此,所有涉及的dbus对象均由统一的接口即managerinterface管理接口和objectsinterface对象接口创建,并且所创建的dbus对象都在objectsinterface对象接口下以备后续调用。

在本发明的dbus对象的通用创建方法的若干实施例中,方法进一步包括:通过dbus库函数建立与系统总线的连接。即,根据dbus库函数中的相应函数建立与systembus系统总线的连接,以此为基础实现dbus对象的创建和使用。

另一方面,本发明还提出了一种dbus对象的通用创建装置,该装置包括:至少一个处理器;和存储器,该程序代码在被处理器运行时执行以下步骤:

s1:创建管理接口和对象接口;

s2:构建对象参数,该对象参数包括至少一个dbus对象的信息;

s3:在管理接口定义创建函数,该创建函数的输入参数为对象参数,该创建函数的输出参数为dbus对象;

s4:在对象接口添加由创建函数输出的dbus对象;

s5:调用管理接口和对象接口,在管理接口输入对象参数,以在对象接口创建至少一个dbus对象。

在本发明的dbus对象的通用创建装置的若干实施例中,步骤s3的创建函数配置为根据所输入的对象参数获得至少一个dbus对象的信息,并输出相应的dbus对象。

在本发明的dbus对象的通用创建装置的一些实施例中,步骤s2的dbus对象的信息包括dbus对象的名称、dbus对象的属性和该属性的值。

在本发明的dbus对象的通用创建装置的一个或多个实施例中,步骤s2的对象参数配置为基于map字典构建,其中字典的key键配置为dbus对象的名称,字典的value值配置为dbus对象的属性和该属性的值或空。

本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(pda)、平板电脑(pad)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。

本文所述的计算机可读存储介质(例如存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambusram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。

采用上述技术方案,本发明至少具有如下有益效果:在本发明的技术方案中,由所创建的管理接口和对象接口替代不同service下创建dbus对象所调用的不同接口,利用所定义的对象参数将多个dbus对象的信息整合为一个输入参数,通过管理接口所绑定的创建函数生成多个dbus对象。在执行根据本发明的方法创建dbus对象时,只需调用所创建的管理接口和对象接口,输入对象参数,即可代替多个不同service下的接口,根据管理接口的创建函数在对象接口创建多个dbus对象。也就是说,利用本发明的技术方案实现了dbus对象创建的简化,省去了调用不同service下的接口的过程,并且所创建的dbus对象都在同一个接口下,方便查找、维护和管理。

应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外实施例。此外,本文所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤及顺序做出相应修改而不脱离本发明的保护范围。

在本申请中,反意连接词的使用旨在包括连接词。定或不定冠词的使用并不旨在指示基数。具体而言,对“该”对象或“一”和“一个”对象的引用旨在表示多个这样对象中可能的一个。然而,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。此外,可以使用连接词“或”来传达同时存在的特征,而不是互斥方案。换句话说,连接词“或”应理解为包括“和/或”。术语“包括”是包容性的并且具有与“包含”相同的范围。

上述实施例,特别是任何“优选”实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。在基本上不脱离本文描述的技术的精神和原理的情况下,可以对上述实施例做出许多变化和修改。所有修改旨在被包括在本公开的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1