SophiaFramework UNIVERSE 5.3 |
#include <SFBUnzipAStream.h.hpp>
class SFBUnzipAStream : public SFBAStream;
SFMTYPEDEFWRAPPER(SFBUnzipAStream)
BREW 2.0 | BREW 2.1 | BREW 3.1 | BREW 4.0 |
---|---|---|---|
○ | ○ | ○ | ○ |
パブリック関数 | |
---|---|
static SFBUnzipAStreamSmp |
NewInstance(
SFCErrorPtr exception = null
)
SFBUnzipAStream インスタンスを生成します。
|
static SFBUnzipAStreamSmp |
NewInstance(
AEECLSID id
, SFCErrorPtr exception = null
)
SFBUnzipAStream インスタンスを生成します。
|
Void |
SetStream(
SFBAStreamSmpConstRef stream
)
gzip 形式で圧縮されたストリームを設定します。
|
SFCError |
SetStream(
SFXStorageConstRef storage
)
gzip 形式で圧縮されたストリームを設定します。
|
Void |
Cancel( Void )
(SFBAStream から継承)
SFBAStream::Readable で登録されたコールバックをキャンセルします。
|
SInt32 |
Read(
VoidPtr buffer
, UInt32 count
)
(SFBAStream から継承)
ストリームからデータを読み込み、読み込んだバイト数を取得します。
|
SInt32 |
Read(
SFXBufferPtr buffer
)
(SFBAStream から継承)
ストリームからデータを読み込み、読み込んだバイト数を取得します。
|
Void |
Readable(
PFNNOTIFY notify
, VoidPtr data = null
)
(SFBAStream から継承)
データが読み込み可能かどうかを判定するコールバックを登録します。
|
プロテクト関数 | |
---|---|
static SFBBaseSmp |
FactoryByCreate(
AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
|
static SFBBaseSmp |
FactoryByQuery(
SFBQuerySmpConstRef query
, AEECLSID id
, SFCErrorPtr exception = null
)
(SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。
|
[ public, static ] SFBUnzipAStreamSmp NewInstance( SFCErrorPtr exception = null // エラー値 );
[ public, static ] SFBUnzipAStreamSmp NewInstance( AEECLSID id // クラスID SFCErrorPtr exception = null // エラー値 );
[ public ] Void SetStream( SFBAStreamSmpConstRef stream // gzip 形式で圧縮したストリーム );
[ public ] SFCError SetStream( SFXStorageConstRef storage // gzip 形式で圧縮したストレージ );
gzip 形式で圧縮したテキストデータを解凍して読み込み、 ログに表示します。
// gzip 形式のファイル名 #define MY_STRINGFILE_NAME "MyString.txt.gz" SFBFileMgrSmp filemgr; SFBFileSmp file; SFBUnzipAStreamSmp unzip; FileInfo info; ACharPtr buffer; // SFBFileMgr インスタンスを作成する filemgr = SFBFileMgr::NewInstance(); // ファイルサイズを取得する filemgr->GetInfo(MY_STRINGFILE_NAME, &info); // ファイルを開く file = filemgr->OpenFile(MY_STRINGFILE_NAME, _OFM_READ); // SFBUnzipStream インスタンスを作成する unzip = SFBUnzipAStream::NewInstance(); // gzip 形式で圧縮したストリームを設定する unzip->SetStream(file); // データ格納領域を作成する buffer = (ACharPtr)MALLOC(info.dwSize); // gzip 形式で圧縮したテキストデータを解凍する unzip->Read(buffer, info.dwSize); // ログにテキストを表示する TRACE("*** text: %s ***", buffer); // データ格納領域を解放する FREE(buffer);
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |