aboutsummaryrefslogtreecommitdiff
path: root/PLUGIN.ja.txt
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-07-02 07:59:33 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2009-07-02 07:59:33 +0000
commit1e7b7273cbe93562598e5dbbad8aba5d82fe0a82 (patch)
tree00b94ac1f84008443655ab55a6c06233e870190c /PLUGIN.ja.txt
parent60598b254c9be9b75ce4bbeebb13c193b066b4f5 (diff)
added plugin document.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2174 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'PLUGIN.ja.txt')
-rw-r--r--PLUGIN.ja.txt85
1 files changed, 85 insertions, 0 deletions
diff --git a/PLUGIN.ja.txt b/PLUGIN.ja.txt
new file mode 100644
index 00000000..dd74e3b0
--- /dev/null
+++ b/PLUGIN.ja.txt
@@ -0,0 +1,85 @@
+Sylpheed プラグイン仕様
+=======================
+
+Sylpheed のプラグイン機構の構成は以下のようになっています。
+
+ +----------+ +----------------------+ +-----------+
+ | Sylpheed |----| libsylpheed-plugin-0 |--+--| Plug-in A |
+ +----------+ +----------------------+ | +-----------+
+Sylpheed 本体 プラグインインタフェース | プラグイン DLL
+ ライブラリ +--+
+ | +------------+ | | +-----------+
+ +--------| libsylph-0 |---------+ +--| Plug-in B |
+ +------------+ +-----------+
+ LibSylph メールライブラリ
+
+Sylpheed は起動時にプラグインディレクトリにインストールされている
+プラグイン DLL をメモリにロードします。
+
+プラグインは libsylpheed-plugin-0 と libsylph-0 ライブラリで
+提供されている API を通してのみ Sylpheed の機能にアクセスできます。
+
+プラグイン API には、プラグインが直接呼び出す関数群と、
+GObject のシグナル機構を利用して、特定のイベントが発生した場合に
+コールバック関数を呼び出すものの2種類があります。
+
+プラグイン機構は libsylph/sylmain.[ch] と src/plugin.[ch] で実装されて
+います。
+
+プラグイン API
+==============
+
+Sylpheed から利用する関数
+-------------------------
+
+gint syl_plugin_init_lib (void);
+
+libsylpheed-plugin-0 ライブラリの初期化を行います。
+-------------------------------------------------------------------------
+gint syl_plugin_load (const gchar *file);
+
+プラグイン DLL ファイルをメモリにロードします。
+-------------------------------------------------------------------------
+gint syl_plugin_load_all (const gchar *dir);
+
+指定したディレクトリ内のプラグイン DLL ファイルをメモリにロードします。
+-------------------------------------------------------------------------
+void syl_plugin_unload_all (void);
+
+ロードしたすべてのプラグインをアンロードします。
+-------------------------------------------------------------------------
+GSList *syl_plugin_get_module_list (void);
+
+現在メモリにロードされているプラグインのリストを取得します。
+GModule 構造体へのポインタのリストが返ります。
+リストはライブラリ内部で保持しているため、解放できません。
+-------------------------------------------------------------------------
+SylPluginInfo *syl_plugin_get_info (GModule *module);
+
+プラグインの情報を取得します。情報は SylPluginInfo 構造体で返ります。
+-------------------------------------------------------------------------
+gboolean syl_plugin_check_version (GModule *module);
+
+プラグインインタフェースのバージョンを比較し、互換性があるかどうかを
+確認します。バージョンが一致する場合は TRUE 、一致しない場合は FALSE
+が返ります。
+-------------------------------------------------------------------------
+gint syl_plugin_add_symbol (const gchar *name, gpointer sym);
+
+ライブラリにシンボル名とそれに関連付けられるポインタ値を登録します。
+-------------------------------------------------------------------------
+gpointer syl_plugin_lookup_symbol (const gchar *name);
+
+syl_plugin_add_symbol() で登録したシンボルを検索し、ポインタ値を返します。
+
+プラグインから利用する関数
+--------------------------
+
+シグナルの一覧
+--------------
+
+
+
+サンプルプラグイン
+==================
+