例 5. 当联系者上线时立即发送消息
最后这个例子用到了 Kopete -- 一个 KDE 即时消息客户机。
到现在,这个脚本应该非常容易理解。它接受两个参数,联系者名 ($1) 和消息 ($2)。然后它进行循环,通过 dcop 得到可达联系者列表,并用 grep 来检查给出的名字是否出现,如果没有,则继续循环。如果出现了,循环终止并向联系者发送一条消息(还是用 DCOP)。
|
现在我们将创建一个 DCOP 感知的应用程序。
简单起见,我将使用“KDevelop”集成开发环境,它有一个非常好的应用程序向导,可以为我们完成大部分工作。
由于我是一个极端的人,我现在用的是 KDevelop 3.0 beta2,但是老一些的版本的步骤也基本上相同。
一个简单的 DCOP 感知的应用程序
- 开始,启动 KDevelop(我从 K 菜单中使用
run命令)。 - 我们在 Project 菜单中选择“New Project”,这将激活“Create New Project”向导。
- 如果在其中展开 C 树,并展开 C 树下的 KDE 树,我们应该会看一个叫做“Application Framework”的条目。选择这个条目,给出您的应用程序名(例如 dwdcopapp)并填写其他需要的地方。
- 继续完成向导其余的部分(大部分情况下您可以只是选择“Next”),直到结束。
- 当项目创建后,用 KDevelop 编译并运行它(第一次编译时您将不得不同意运行 automake 和 friends)。
- 现在如果我们启动 dcop(或者 kdcop),可以看到有一个对应于我们刚刚创建的应用程序的条目!
- 如果我们看看 (k)dcop 中的条目,可以看到已经有了许多功能 -- 我们可以打开一个 URL,退出应用程序,等等。
现在我们来看如何添加一个新函数到通过 dcop 导出的列表中。由于我们在应用程序中已经创建并初始化了一个 DCOP 接口,要做的最简单的事情就是向已有接口添加一个新方法。
- 编辑 dwdcopappIface.h,利用下面的签名在 k_dcop: 部分中添加一个新方法:
virtual void dwprintln(QString str) = 0;
- 向 dwdcopappView.h 的 public: 部分添加同样的方法签名。
- 将下面的实现我们的新函数的代码添加到 dwcopappView.cpp:
|
注意,您还必须将
#include <iostream>
放置于已有 include 指令之后。
- 编译并执行程序。
- 现在如果我们启动 (k)dcop,将会看到
dwprintln(QString)方法已经添加到了dwdcopappIface接口中。如果您执行这个方法并传递一个字符串,它将被输出到输出窗口(或者,如果您是在 KDevelop 之外启动这个应用程序的话,会被输出到命令行)。 - 同样可以添加另外的方法。
可以用添加 dwdcopappIface 的相同方式,向应用程序添加另外的接口。有兴趣的读者应该阅读后面 参考资料中列出的“DCOP documentation for KDE developers”链接,它能告诉您远远超过您所需要知道的有关此话题的内容。
文章地址: http://www.qqread.com/net-manage/d290873.html进入讨论组讨论。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 网管眼中的5款远程控制软件 (143602次浏览)
- ARP病毒解决办法 (88134次浏览)
- 图解:网络Ghost克隆操作全程 (47802次浏览)
- 如何进行局域网设置 (19165次浏览)
- ARP病毒攻击技术分析与防御 (17485次浏览)
- 常见路由器的设置方法 (17389次浏览)
- 针对ARP病毒攻击防制进阶经验谈 (17384次浏览)
- ARP病毒问题的处理 (17055次浏览)
- 网络管理中的11大绝招 (15949次浏览)
- 从网吧ARP欺骗看局域网的安全管理 (14270次浏览)



