Chapter 49. IO へのアダプター層 (IO::Adapter クラス)

Table of Contents
IO::Adapter の概要
IO::Adapter のメソッド
fml8 で必要なメソッドの型
file マップ
unixgroup マップ
NIS マップ
MySQL マップ

IO::Adapter の概要

fml8 でのメンバーリストの読み書き、例えばアドレスの登録/削除は IO::Adapter という抽象クラスを通じて行ないます。ようは Unix で vfs/vnode インターフェイスを導入した時のような感じですね。 使い方は次のようになります。

use IO::Adapter;
$obj = new IO::Adapter $map, $map_params;
$obj->open || croak("cannot open $map");
while ($x = $obj->get_next_key()) { ... }
$obj->close;

$map は「map:識別子」となります。 現在のところ $map は次のようなものが使えます。 file: は省略可能です。

file:/var/spool/ml/elena/recipients
unix.group:root
nis.group:root
mysql:id
postgresql:id  (未実装、実装予定)
ldap:id        (未実装、実装予定)

file: は通常のファイルです。 unix.group:root は /etc/group の root のエントリにあるユーザのリストを、 nis.group:root は NIS の root のエントリにあるユーザのリストです。 mysql:id は MySQL へのアクセスです。 config.cf の mysql:id で指定されたパラメータを用います。 このパラメータは new IO::Adapter を実行する際に、 指定する必要があります。

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.