在Maemo上開發Hildon外掛程式

2021-05-21 18:54:56 字數 2941 閱讀 5701

引用源:

plugin 巨集定義 —支援在對桌面新增外掛程式應用程式

#include 

#define hd_define_plugin_module

(tn, t_n, t_p)

#define hd_define_plugin_module_extended

(tn, t_n, t_p, code, code_load, code_unload)

#define hd_plugin_module_symbols

(t_n)

#define hd_plugin_module_symbols_code

(t_n, code_load, code_unload)

當定義桌面外掛程式函式時,應該使用hd_define_plugin()或者hd_define_plugin_module_extended()巨集定義。

他們和巨集g_define_dynamic_type()函式相似,但是 它能在載入模組時將**動態的註冊到class中,以執行。

example 1. 用hd_define_plugin_module()來定義乙個home widget(home widget 即為放在桌面上的應用程式)

hdhomepluginitem parent;

hd_define_plugin_module()

#define             hd_define_plugin_module(tn, t_n, t_p)
register an object supplied by a plugin in hildon desktop.

功能:向hildon desktop中註冊乙個object

同時參考:g_define_dynamic_type().

tn:

[一般是object的結構體名稱]這個object 型別名稱, in camel case.所有的名稱單詞的首字母要大寫 (例如: objecttype)

t_n:

[一般是plugin入口函式名稱]這個object 型別名稱, 所有單詞小寫,並且每個單詞間用 '_'分隔開. (例如: object_type)

t_p:

父類的 gtype 型別 (例如: statusbar_type_item )

#define             hd_define_plugin_module_extended(tn, t_n, t_p, code, code_load, code_unload)
register an object supplied by a plugin in hildon desktop.

see alsog_define_dynamic_type().

tn:

一般是object的結構體名稱]這個object 型別名稱, in camel case.所有的名稱單詞的首字母要大寫 (例如: objecttype)

t_n:

[一般是plugin入口函式名稱]這個object 型別名稱, 所有單詞小寫,並且每個單詞間用 '_'分隔開. (例如: object_type)

t_p:

父類的 gtype 型別 (例如: statusbar_type_item )

code:

定製**,加入 *_register_type()名稱型別的函式

code_load:

當載入外掛程式時需要執行的函式

code_unload:

解除安裝外掛程式時需要執行的函式

#define             hd_plugin_module_symbols(t_n)
定義乙個外部函式來載入或解除安裝模組,它別巨集hd_define_plugin_module()所呼叫,並且一般不應該去直接呼叫這個巨集

t_n:

[一般是plugin入口函式名稱]這個object 型別名稱, 所有單詞小寫,並且每個單詞間用 '_'分隔開. (例如: object_type)

#define             hd_plugin_module_symbols_code(t_n, code_load, code_unload)
defines exported functions to load and unload the modules. it is used byhd_define_plugin_module _extended()and should usually not used directly.

t_n:

the name of the object type, in lowercase, with words separated by '_'. (ex: object_type)

code_load:

code executed when the plugin is loaded.

code_unload:

code executed when the plugin is unloaded.

Maemo開發個人感想

做完maemo的開發本來有些感想,有些認識一直沒有機會寫下來。借這個機會將其寫下來供以後參考,同時也可以給不了解maemo的希望了解這個東西的人乙個參考。我就大概介紹一下maemo以及開發注意的問題。sybian是nokia的主流開發平台,但maemo是nokia的乙個核心高階開發平台。該平台基於g...

在WinXP or Vista上開發Webpart

當你臨急要做個moss的webpart時,發現你可以用的唯一的機器居然是xp,居然只有vs,居然不是win2k3,居然沒有裝wss 3.0或者moss,居然沒有visual studio extensions for sharepoint都沒有。而這時候你的老闆 專案經理 客戶正像催命鬼一樣催著你,...

在WinXP or Vista上開發Webpart

當你臨急要做個moss的webpart時,發現你可以用的唯一的機器居然是xp,居然只有vs,居然不是win2k3,居然沒有裝wss 3.0或者moss,居然沒有visual studio extensions for sharepoint都沒有。而這時候你的老闆 專案經理 客戶正像催命鬼一樣催著你,...