Archive:Development/Tutorials/Metadata/Nepomuk/NepomukServer (zh CN)
Development/Tutorials/Metadata/Nepomuk/NepomukServer
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
Nepomuk服务器
Nepomuk服务器是个后台守护进程,所有的Nepomuk服务包括Nepomuk数据仓库都由他控制。通常情况下,在KDE启动时他会自动启动。手工的话,在命令行打"nepomukserver"就行了。这样会启动这个守护进程和所有的服务。
"nepomukservicestub"是个包装程序,用以在独立进程中启动该项服务。这样的安排是为了增强Nepomuk的健壮性和稳定性。服务以实现Nepomuk::Service的子类开始,对外以KDE插件形式展现。Nepomuk::Service文档有具体介绍。
KDEBase已经有了些缺省服务。存储服务基本上就是RDF数据库,用于保存Nepomuk相关数据。Nepomuk 服务有详细介绍.
服务器使用
Nepomuk服务器注册为一个DBus服务-org.kde.NepomukServer,同时提供了三个DBus接口:服务管理接口,遗留存储桥接接口,和标准配置接口。
服务管理
服务管理DBus接口称为org.kde.nepomuk.ServiceManager,发布在servicemanager;可以提供打开关闭Nepomuk服务的方法,列举所有运行的服务,并请求这些接口的基本信息:
<syntaxhighlight lang="text">QStringList availableServices() 列举所有可用的服务,运行着和没有运行的。
<syntaxhighlight lang="text">bool isServiceAutostarted(QString service) 服务是否自动启动。
<syntaxhighlight lang="text">bool isServiceInitialized(QString name) 服务是否已经启动并初始化过。(在运行的服务有可能还在初始化构成中)。
<syntaxhighlight lang="text">QStringList runningServices() 列举所有运行的服务。
<syntaxhighlight lang="text">void serviceInitialized(QString name) 标明服务是否已经完成初始化并随时待命可用。
<syntaxhighlight lang="text">void setServiceAutostarted(QString service, bool autostart) 改变自动启动的行为。
<syntaxhighlight lang="text">bool startService(QString name) 开启服务。同时打开所有依赖关系。
<syntaxhighlight lang="text">bool stopService(QString name) 停止服务,同时停止所有依赖关系。
遗留存储
发布在org.soprano.Server的遗留存储接口只是个简单的包装,把存储服务包装一下,而且不应再被新的应用程序所使用。
配置
称为org.kde.NepomukServer的Nepomuk服务配置接口在nepomukserver发布,可以用来配置服务器。Nepomuk KCM以下列方式使用这些方法:
<syntaxhighlight lang="text">QString defaultRepository() 返回缺省仓库名(Soprano服务器提供一些存储服务的API,用于创建多个存储仓库。Nepomu只用一个:main)。
<syntaxhighlight lang="text">void enableNepomuk(bool enabled) 打开/关闭整个Nepomuk系统。enable设为false就可以停止所有服务。
<syntaxhighlight lang="text">void enableStrigi(bool enabled) 打开/关闭整Strigi文件索引。
<syntaxhighlight lang="text">bool isNepomukEnabled()Nepomuk是否打开。
<syntaxhighlight lang="text">bool isStrigiEnabled()Strigi是否打开。
<syntaxhighlight lang="text">void quit()退出Nepomuk服务器以及停止所有服务。注意:这个方法只做内部调试之用。
<syntaxhighlight lang="text">void reconfigure()刷新配置,一般没有必要调用。