前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFBGetLine
IGetLine インターフェースのラッパークラスです。
#include <SFBGetLine.h.hpp>
class SFBGetLine : public SFBPeek;
SFMTYPEDEFWRAPPER(SFBGetLine)

継承図

SFBGetLine クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0

参照

BREW API IGetLine

メンバ

パブリック関数
static
SInt32
EOLSize( SInt32 code )
GetLine によって返される行の EOL シーケンスの長さを取得します。
SInt32 GetLine( GetLinePtr line , SInt32 type )
テキストの次の論理行をデータソースから取得します。
static
Bool
LineComplete( SInt32 code )
完全な行が返されたかどうかを判定します。
Void UngetLine( SInt32 lenUnused )
データ ソースからの最後の論理行の一部または全部を取得解除し、 ストリーム内の行の終結文字を元に戻します。
Void Advance( SInt32 advance ) (SFBPeek から継承)
バッファ内のピーク ポインタを前進または後進させます。
static
Bool
Exhausted( SInt32 code ) (SFBSource から継承)
SFBSource、SFBPeek、または SFBGetLine がデータを処理し終えたかどうかを判定します。
VoidPtr Peek( SInt32 wanted , SInt32Ptr available , SInt32Ptr code ) (SFBPeek から継承)
バッファに格納されたデータへのポインタを返し、 オプションとして、バッファ内のデータをさらに読み込むことを試みます。
Void Peekable( SFXCallbackPtr callback ) (SFBPeek から継承)
バッファに格納されていないデータがまだある場合に、 コールバック関数を呼び出します。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFCError QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SInt32 Read( VoidPtr buf , SInt32 size ) (SFBSource から継承)
指定したバッファにソースストリームからのバイトをコピーします。
SInt32 Read( SFXBufferPtr buf ) (SFBSource から継承)
指定したバッファにソースストリームからのバイトをコピーします。
Void Readable( SFXCallbackPtr callback ) (SFBSource から継承)
SFBSource::Read 関数が ISOURCE_WAIT 以外のものを返した場合に呼び出されるコールバック関数を 登録または登録解除します。
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFBGetLine::EOLSize
GetLine によって返される行の EOL シーケンスの長さを取得します。
[ public, static ]
SInt32 EOLSize(
    SInt32 code   // Read()、Peek()、または GetLine() からの戻り値
);

解説

EOL シーケンスは、行が返される前に SFBGetLine::GetLine 関数によって除去されます。

参照

BREW API IGETLINE_EOLSize | SFBGetLine::GetLine


SFBGetLine::GetLine
テキストの次の論理行をデータソースから取得します。
[ public ]
SInt32 GetLine(
    GetLinePtr line   // 結果を格納する構造体へのポインタ
    SInt32 type       // 改行の種類
);

引数

line

結果を格納する構造体へのポインタ。 コール終了時に以下のように設定される。 . line->ps2 = 行データの先頭へのポインタ( ゼロ終結 )。 . line->nLen = 行内の文字の数。 . line->bLeftover = 返されたテキストが前の切り捨てられた行の継続である場合はtrue。 言い換えれば、最後の戻りコードが IGETLINE_FULL( IGETLINE_WAIT 戻りコードは無効 )。 *pline が示すテキストは EOL 文字を含まない。 行が EOL 文字シーケンスで終結した場合、GetLine は、ゼロ終結となるように 最初の EOL 文字を null 文字で上書きする。 nLen は、行に null 文字が含まれていない限り strlen(ps2) と同様である。 GetLine() は行の内容を制限しないため、返される行にバイナリデータが含まれることがある ( 有効な EOL シーケンスは当然除く )。 EOL 文字を含め行データはすべてコール側で変更できるので、 必要であれば、EOL 文字を含め元のバイナリ形式を再構築できる。

type

以下のどの EOL シーケンスを認識するか指定する。 IGETLINE_CRLF = CRLF シーケンスだけが行を終結する。 IGETLINE_LF = CRLF または1文字のLF が行を終結する。 IGETLINE_CR = CRLF、1文字のLF、または 1 文字の CR が行を終結する。 [ このオプションは完全にはサポートされていない。 IGETLINE_LF と同等。]

参照

BREW API IGETLINE_GetLine


SFBGetLine::LineComplete
完全な行が返されたかどうかを判定します。
[ public, static ]
Bool LineComplete(
    SInt32 code   // SFBGetLine::GetLine() の戻り値
);

戻り値

  • 完全な行を受け取った( バッファ制限やエラーで行が切り捨てられていない )とき: true
  • それ以外のとき: false

参照

BREW API IGETLINE_LineComplete | SFBGetLine::GetLine


SFBGetLine::UngetLine
データ ソースからの最後の論理行の一部または全部を取得解除し、 ストリーム内の行の終結文字を元に戻します。
[ public ]
Void UngetLine(
    SInt32 lenUnused   // 取得解除する長さを指定する( 最後の行の長さまで )
                       // 最後のGetLine()のコールで取得された GetLine 構造体からの nLen 以下でなければならない
                       // 行終結文字の長さは「含めない」
);

参照

BREW API IGETLINE_UngetLine | SFBGetLine::GetLine