Ochusha is a so-called 2ch browser based on GTK+.
It is implemented mainly in C/C++ and employs multi-threading so that it runs considerably quickly. We would like to respond to user's request for features.
lib/ochusha_config.cがerrno.hがインクルードされていないため、ソースをいじらない限りビルドできません。
* libochushaの大改造がほぼ終了。
* 0.4.2.1まで使っていた構造体の内の大部分をGLibのタイプシステムを使うように変更した。
具体的には、
BBSThread -> OchushaBBSThread
BBSTable -> OchushaBBSTable
BoardCategory -> OchushaBoardCategory
BulletinBoard -> OchushaBulletinBoard
のように、名前も含めて完全に置き換えた。
また、以前からGLibのタイプシステムを使っていたAsyncBufferも 命名規則統一のために
AyncBuffer -> OchushaAsyncBuffer
と改名した。
* 2ch依存部分を実装したOchushaBBSThread、OchushaBulletinBoardのサブクラスであるOchushaThread2chとOchushaBoard2chを追加し、
これまでおちゅ〜しゃ(仮)のGUI制御部分を含む各所に埋まっていた2ch依存部分を可能な限り取り除いた(まだ少し残っているが追々直す予定)。
* boardlist.xmlとthreadlist.xmlのI/Oの機能を、それらに関係深いオブジェクトのメソッドとして再実装した。具体的には、 OchushaBBSTable
がboardlist.xmlの読み書きを担当し、 OchushaBulletinBoardが
threadlist.xmlの読み書きを担当する。また、以前はコールバック関数
を明示的に指定するAPIだったが、OchushaBulletinBoardや OchushaBBSThreadがサブクラス化されるタイプシステムを導入したので、XMLファイルの拡張もシグナルベースで行うようにした。
* 以上の変更をGUI関連部分にも反映させ、不要になった古い実装を全て捨てた。
* まっさらの環境で初めて実行したときの動作が微妙に予定外だったので修正した。