[Tomoe-devel 2] tomoeのAPI案

Back to archive index

Hiroaki Nakamura hnaka****@good-*****
2005年 3月 3日 (木) 10:46:00 JST


中村です。

zoeさんにはっぱをかけられたのでtomoeのAPI案を考えてみました。

現状のtomoeは入力された文字の座標情報を標準入力から入力し
マッチした文字情報を標準出力に返すようになっています。
それをAPI化するという話です。

特に問題なければ、以下の内容でzoeさんに作業をお願いしようかと思います。
#事前に説明した内容から少し変わってます。事前説明では戻り値が辞書内の
#文字のインデックスの配列だったのですが、それだとuim-tomoe-gtk側が
#辞書を読まないといけなくなってしまうので、文字列の配列を返すように
#修正しました。

tomoeのAPI案
============

基本的にはmatch.cのmain()内の処理を分割することになります。

* void tomoe_init()
   - load_data()を呼ぶ

* int tomoe_match(letter *input, char ***matched)
   - get_matched_char_index()は現状グローバル変数のstatic letter inputを
     参照していますがこれを止めて、引数でletter *型の変数inputを渡すようにし、
     そこから呼ばれる関数にも全て引数でletter *型の変数inputを渡すようにする。
     あとは現状input.〜として参照している箇所をinput->〜に変更。
   - 上記の変更を行なった上でget_matched_char_index()を呼ぶ。
     戻り値は辞書内の文字のインデックスの配列が返ってくるので、
     それを元に文字列(char*)の配列(char**)を作成して出力引数matchedに設定する。
     作成後に
     static void int_array_free_contents(int_array *array)
     を呼んでget_matched_char_index()の戻り値の領域を解放する。
   - 戻り値はマッチした数を返す。

* void tomoe_free_matched(char **matched)
   - tomoe_matchの出力引数matchedの領域を解放するための関数。

* void tomoe_term()
   - dictionary_free_contents(&dict)を呼ぶ

-- 
中村 弘輝 )Hiroaki Nakamura) hnaka****@good-*****



tomoe-devel メーリングリストの案内
Back to archive index