名前¶
SWF::BinStream::Codec - SWF::BinStream用のcodecについて
概要¶
use SWF::BinStream;
....
$stream->add_codec('Foo');
----
package SWF::BinStream::Codec::Foo;
$VERSION='x.xx';
package SWF::BinStream::Codec::Foo::Read;
sub new {}
sub decode {}
sub close {}
package SWF::BinStream::Codec::Foo::Write;
sub new {}
sub encode {}
sub close {}
1;
説明¶
SWF::BinStream:Codec::*パッケージは、SWF::BinStreamの読み書きに対してある種のcodecを追加するものです。 全体のパッケージ名は'SWF::BinStream::Codec::[name]'でなければいけません。 SWF::BinStreamは、add_codecメソッドがnameを引数として呼ばれると、'SWF::BinStream::Codec::[name]'をrequireします。 2つのサブパッケージ、'SWF::BinStream::Codec::[name]::Read'と'SWF::BinStream::Codec::[name]::Write'を、その中に用意します。
メソッド¶
codecクラスは以下のメソッドを備えてなければいけません。それぞれのメソッドは、 エラー時にはdieすべきです。
SWF::BinStream::[name]::Read¶
- SWF::BinStream::[name]::Read->new;
-
新しいデコーダを返します。引数は取りません。
- $codec->decode( $data );
-
ストリームからデータを読むときに呼ばれます。 ストリームから読まれたデータを引数に取ります。 デコードして返します。
- $codec->close;
-
ストリームを閉じるときに呼ばれます。 引数は取りません。
SWF::BinStream::[name]::Write¶
- SWF::BinStream::[name]::Write->new;
-
新しいエンコーダを返します。引数は取りません。
- $codec->encode( $data );
-
ストリームにデータを書き込む前に呼ばれます。 書き込まれるデータを引数に取ります。 エンコードして返します。
- $codec->close( $data );
-
ストリームを閉じるときに呼ばれます。 バッファに残ったデータがあれば引数に取ります。 エンコードして返します。また、エンコーダ中に残ったデータがあれば それも返します。
コピーライト¶
Copyright 2002 Yasuhiro Sasama (ySas), <ysas@nmt.ne.jp>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
翻訳者¶
笹間康弘 (ysas@nmt.ne.jp)