Archive:Development/Architecture/KDE4/Solid (zh CN)
无缝硬件交互
有了Solid, KDE的开发人员可以很方便地编写应用程序与硬件交互的功能。必要的抽象,以支持跨平台的应用开发提供了Solid的明确和全面的API 。
它的目的不是控制装置(Solid不会让你您的手机与您的本地地址本同步起来 ) :Solid*寻找*设备,让您获得关于他们的信息。这样,你可以很容易地看看CPU的功能 ,或驱动您的相机,或装入您的USB笔。总之:它给你“看而不碰”您设备的可能性。
现在,你要问(至少,我问自己) : “为什么我应该需要这个类库?我要控制在现有的硬件,而不只是看到它! ”
Solid帮助您很多:任何设备接口,它给你足够的信息来方便地访问它使用其他类库或程序。这样,如果要管理您的相机,您可以使用Solid识别它 (您可以使用Solid: :通知,让你知道当你的相机已经插入) ,然后您可以要求Solid给您您需要的信息来处理它,例如GPhoto或任何你能想到的其他类库。这同样适用于其他任何连接设备:数字电视卡(一旦确认,Solid将给你 相关的装置 的名字) ,音频卡(可以使用ALSA ,开放源码软件或任何你想要得:Solid知道数据访问它) ,便携式媒体播放器,网络卡,等等。此外,它可让您检查您是否已经连接到任何网络或没有,你可以使用Solid通知系统连接(即,您可以要求Solid: “给我进入网络,我不想关心细节“ ) 。
无论如何,一些其他的事情需要说,网络设备和蓝牙。这两个类别的设备,Solid提供的“控制”的命名空间:这就是,它可以让你直接控制,无需使用外部库文件。这意味着,通过与Solid,你甚至可以处理您的无线或有线网络接口,准他们的ESSID ,并选择他们的IP配置。您甚至可以通过蓝牙使用您的手机,等等。
Solid的“列举”部分留守在kdelibs,而Control的命名空间是在kdeBase 。