aboutsummaryrefslogtreecommitdiff
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
parent60598b254c9be9b75ce4bbeebb13c193b066b4f5 (diff)
added plugin document.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2174 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog7
-rw-r--r--Makefile.am2
-rw-r--r--PLUGIN.ja.txt85
-rw-r--r--PLUGIN.txt3
4 files changed, 96 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 3bef5737..233733f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,9 @@
-2009-06-25
+2009-07-01
+
+ * PLUGIN.txt
+ PLUGIN.ja.txt: added plugin document.
+
+2009-07-01
* plugin/test/Makefile.am: fixed build issue.
diff --git a/Makefile.am b/Makefile.am
index 3ca1df0d..6aba3f06 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,6 +11,8 @@ EXTRA_DIST = config.rpath \
NEWS-1.0 \
NEWS-2.0 \
LICENSE \
+ PLUGIN.txt \
+ PLUGIN.ja.txt \
sylpheed.desktop \
sylpheed.spec \
sylpheed.spec.in \
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() で登録したシンボルを検索し、ポインタ値を返します。
+
+プラグインから利用する関数
+--------------------------
+
+シグナルの一覧
+--------------
+
+
+
+サンプルプラグイン
+==================
+
diff --git a/PLUGIN.txt b/PLUGIN.txt
new file mode 100644
index 00000000..e66c4e98
--- /dev/null
+++ b/PLUGIN.txt
@@ -0,0 +1,3 @@
+Sylpheed Plugin Specification
+=============================
+