目前的GUI不方便拓展也不利于美化,不如做成这样 /* 在等宽字体下察看 */ 插件-> 管理器 <-IM层 | GUI 在管理器中提供一些接口,比如(如果不满意,大家也可以想想,比如只有一个 data之类的) im_t request_im (const char *im_name, void *data1, void *data2, void *data3); int call_im (im_t im, action_t action, void *data1, void *data2, void *data3); interface_t request_plugin (const char *plugin_name, void *data1, void *data2, void *data3); int call_interface (interface_t interface, action_t action, void *data1, void *data2, void *data3); 像这样,或许能更简单,也可以解决大家的语言纠结,比如在性能要求较高的管理 器层用C写,在IM层、GUI层用C++写之类的(各得其所嘛~ 皆大欢喜~)。 如果是python等其他不支持C/C++类似的调用的语言,可以再支持一个dbus在比较 复杂的环境下。 * * 不如这样 * 把interface_t做成接口,第一个数据就是“是否dbus” * * 或者是,接口完全dbus实现,但是开销会不会大点?我还不了解DBus * 建议是, 1. 首先砍掉目前的GUI 2. 将现有代码进行整理 3. 确定需要提供的接口* 4. 实现插件 讨论此贴。。。 同样,不同意就忽略。。。 -- Mike. Blog: http://ekd123.org/ Fedora Project Contributor - Translator.