前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0
SFBGetLine
IGetLine インターフェイスのラッパークラスです。
#include <SFBGetLine.h.hpp>
class SFBGetLine : public SFBPeek;
SFMTYPEDEFWRAPPER(SFBGetLine)

継承図

SFBGetLine クラスの継承図

協調図

SFBGetLine クラスの協調図

参照

BREW API IGetLine

メンバ

パブリック関数
static
SFCError
EOLSize( SInt32 code )
GetLine によって返される行の EOL シーケンスの長さを返します。
SFCError GetLine( ::GetLine* 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( AEECallback* callback ) (SFBPeek から継承)
バッファに格納されていないデータがまだある場合に、 コールバック関数をコールします。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SInt32 Read( VoidPtr buf , SInt32 size ) (SFBSource から継承)
Read( SFXBufferPtr buf ) (SFBSource から継承)
指定されたバッファにソースストリームからのバイトをコピーします。
Void Readable( AEECallback* callback ) (SFBSource から継承)
SFBSource::Read() が ISOURCE_WAIT 以外のものを返した場合にコールされるコールバックを スケジュールまたはキャンセルします。
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インタフェースで実装する際に使用します。
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インタフェースで実装する際に使用します。

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

解説

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

参照

BREW API IGETLINE_EOLSize | SFBGetLine::GetLine


SFBGetLine::GetLine
テキストの次の論理行をデータソースから取得します。
[ public ]
SFCError GetLine(
    ::GetLine* 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() の戻り値。
);

参照

BREW API IGETLINE_LineComplete | SFBGetLine::GetLine


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

参照

BREW API IGETLINE_UngetLine | SFBGetLine::GetLine