TNB Library
公開型 | 公開メンバ関数 | 全メンバ一覧
CFtpFileReader クラス

FTPファイル読み込みクラス [詳解]

#include <TnbFtpFile.h>

+ CFtpFileReader の継承関係図

公開型

enum  ESeekMode { TOP = FILE_BEGIN , CURRENT = FILE_CURRENT , END = FILE_END }
 シークのオフセット指定モード [詳解]
 

公開メンバ関数

virtual bool CanRead (void) const
 [確認] 読み込み可能か [詳解]
 
void Close (void)
 [設定] ファイルクローズ. [詳解]
 
LONGLONG GetLeftoverSize (void) const
 [取得] 残りサイズ取得. [詳解]
 
LPCTSTR GetOpenName (void) const
 [取得] オープン名取得 [詳解]
 
virtual void GetRaw (size_t size, LPVOID _P) const
 [取得] 取得. [詳解]
 
LONGLONG GetSize (void) const
 [取得] サイズ取得 [詳解]
 
bool Open (CFtpSession &sec, LPCTSTR lpszFileName, DWORD dwFlags=FTP_TRANSFER_TYPE_BINARY, DWORD_PTR dwContext=0)
 [設定] ファイルオープン. [詳解]
 
template<typename T >
const IDeserializeroperator>> (T &_t) const
 [取得] 取得. [詳解]
 
virtual size_t Read (size_t size, LPVOID _P) const
 [取得] ファイル読み込み [詳解]
 
void ReadExactly (size_t size, LPVOID _P) const
 [取得] 読み込み. [詳解]
 
CByteVector ReadExactly (size_t size=0) const
 [取得] 読み込み [詳解]
 
size_t ReadInto (ICollectionT< BYTE > &_out, size_t size=0, size_t oneBlockSize=4096) const
 [取得] 読み込み. [詳解]
 
CByteVector ReadInto (size_t size=0) const
 [取得] 読み込み [詳解]
 
LONGLONG Seek (LONGLONG llOffset, ESeekMode eSeek=TOP) const
 [操作] シーク. [詳解]
 

詳解

FTPファイル読み込みクラス

必要ファイル
TnbFtpFile.h
日付
07/01/15 新規

TnbFtpFile.h259 行目に定義があります。

列挙型メンバ詳解

◆ ESeekMode

enum ESeekMode
inherited

シークのオフセット指定モード

列挙値
TOP 

頭からのオフセット指定

CURRENT 

現在位置からのオフセット指定

END 

末からのオフセット指定

TnbReader.h38 行目に定義があります。

関数詳解

◆ CanRead()

virtual bool CanRead ( void  ) const
virtual

[確認] 読み込み可能か

戻り値
true可能
false不可能

IReaderを実装しています。

TnbFtpFile.h426 行目に定義があります。

◆ Close()

void Close ( void  )
virtual

[設定] ファイルクローズ.

IReaderを実装しています。

TnbFtpFile.h520 行目に定義があります。

◆ GetLeftoverSize()

LONGLONG GetLeftoverSize ( void  ) const
inherited

[取得] 残りサイズ取得.

現在の位置から最後までのサイズを返します。

戻り値
0以上サイズ
マイナス取得失敗

TnbReader.h95 行目に定義があります。

◆ GetOpenName()

LPCTSTR GetOpenName ( void  ) const
virtual

[取得] オープン名取得

戻り値
名前

IReaderを実装しています。

TnbFtpFile.h416 行目に定義があります。

◆ GetRaw()

virtual void GetRaw ( size_t  size,
LPVOID  _P 
) const
virtualinherited

[取得] 取得.

指定データを取得します。

引数
[in]size取得するデータサイズ(単位BYTE)
[out]_P取得するデータ
例外
CTnbException失敗時は、任意のスローの可能性があります。

IDeserializerを実装しています。

TnbReader.h211 行目に定義があります。

◆ GetSize()

LONGLONG GetSize ( void  ) const
virtual

[取得] サイズ取得

戻り値
0以上サイズ
マイナス取得失敗

IReaderを実装しています。

TnbFtpFile.h505 行目に定義があります。

◆ Open()

bool Open ( CFtpSession sec,
LPCTSTR  lpszFileName,
DWORD  dwFlags = FTP_TRANSFER_TYPE_BINARY,
DWORD_PTR  dwContext = 0 
)

[設定] ファイルオープン.

FTPセッションのFileNameで指定されたファイルをオープンする。

引数
secオープンしたセッションハンドル。
lpszFileNameオープンするファイルの名前。
dwFlagsファイル転送の種別を表すフラグ。省略すると FTP_TRANSFER_TYPE_BINARY 。
まず以下のいずれかを指定する。
FTP_TRANSFER_TYPE_ASCII ASCII転送。
FTP_TRANSFER_TYPE_BINARY バイナリ転送。

次に、以下の任意の組み合わせを論理和によって指定する。
INTERNET_FLAG_HYPERLINK 再読み込みすべきかどうかの判断時に有効期限・最終更新時刻がサーバから返されない場合強制的に再読み込みする。
INTERNET_FLAG_MAKE_PERSISTENT キャッシュに永続的要素として追加する。これにより、通常のキャッシュのクリーンアップ、整合性チェック、ごみは行きなどの際にこの要素が削除されない。
INTERNET_FLAG_RELOAD 要求したファイル、オブジェクト、ディレクトリリストをキャッシュから取得するのでなく、強制的にサーバから再読み込みする。
INTERNET_FLAG_RESYNCHRONIZE FTPリソースをサーバから再読み込みする。
INTERNET_FLAG_NEED_FILE ファイルがキャッシュできない場合に一時ファイルを作成する。
dwContextコールバックに渡すアプリケーション定義の値。省略可能。
戻り値
trueオープン成功
falseオープン失敗

TnbFtpFile.h386 行目に定義があります。

◆ operator>>()

const IDeserializer & operator>> ( T &  _t) const
inherited

[取得] 取得.

指定データをデシリアライズして取得します。

引数
[out]_tデータ
戻り値
自分の参照
例外
CNotSupportExceptionデシリアライズをサポートしていない型が指定されると、スローされます。
CTnbException失敗時は、任意のスローの可能性があります。

TnbSerializer.h277 行目に定義があります。

◆ Read()

virtual size_t Read ( size_t  size,
LPVOID  _P 
) const
virtual

[取得] ファイル読み込み

引数
[in]size読み込みサイズ。
[out]_P読み込みアドレス。 size 分書き込める領域である必要が有ります。
戻り値
読み込めたサイズ。
例外
CReadFailureException読み込みに失敗すると、スローされます。

IReaderを実装しています。

TnbFtpFile.h401 行目に定義があります。

◆ ReadExactly() [1/2]

void ReadExactly ( size_t  size,
LPVOID  _P 
) const
inherited

[取得] 読み込み.

覚え書き
指定サイズ読めないとエラーになります。
引数
[in]size読み込みサイズ。
[out]_P読み込みアドレス。 size 分書き込める領域である必要が有ります。
例外
CReadFailureException読み込みに失敗すると、スローされます。
CShortOfDataException指定サイズ読込めないと、スローされます。

TnbReader.h114 行目に定義があります。

◆ ReadExactly() [2/2]

CByteVector ReadExactly ( size_t  size = 0) const
inherited

[取得] 読み込み

覚え書き
指定サイズ読めないとエラーになります。
引数
size読み込みサイズ。0ならファイル最後まで読み込む。
戻り値
ByteVector ファイル内容(サイズは読み込めたサイズ)。
例外
CReadFailureException読み込みに失敗すると、スローされます。
CShortOfDataException指定サイズ読込めないと、スローされます。

TnbReader.h134 行目に定義があります。

◆ ReadInto() [1/2]

size_t ReadInto ( ICollectionT< BYTE > &  _out,
size_t  size = 0,
size_t  oneBlockSize = 4096 
) const
inherited

[取得] 読み込み.

引数
[out]_out読込先。クリアせず、後ろに追加します。
size読み込みサイズ。省略か0ならファイル最後まで読み込む。
oneBlockSize一度に読み込むサイズ。省略なら4K。
戻り値
読み込めたサイズ。
例外
CReadFailureException読み込みに失敗すると、スローされます。

TnbReader.h178 行目に定義があります。

◆ ReadInto() [2/2]

CByteVector ReadInto ( size_t  size = 0) const
inherited

[取得] 読み込み

引数
size読み込みサイズ。0ならファイル最後まで読み込む。
戻り値
ByteVector ファイル内容(サイズは読み込めたサイズ)。
例外
CReadFailureException読み込みに失敗すると、スローされます。

TnbReader.h150 行目に定義があります。

◆ Seek()

LONGLONG Seek ( LONGLONG  llOffset,
ESeekMode  eSeek = TOP 
) const
virtual

[操作] シーク.

ファイルポインタを移動します。

注意
ファイルポインタの移動は、空読み込みすることで、行なっています。 その為、パフォーマンスは良くありません。また、現在のポインタより前に戻る場合、 再オープンされます。
引数
llOffsetファイルポインタの移動数。
eSeek移動開始ファイルポインタ位置。省略すると TOP になります。
戻り値
0以上シーク成功。数値は、現在のファイルポインタ
マイナスシーク失敗

IReaderを実装しています。

TnbFtpFile.h442 行目に定義があります。