TNB Library
TnbFtpFileFinder.h
[詳解]
1#pragma once
11#include "TnbFtpFile.h"
12#include "TnbFileFinder.h"
13
14
15
16//TNB Library
17namespace TNB
18{
19
20
21
33{
34 DEFSUPER(CAbstractFileFinder);
35public:
36
38 CFtpFileFinder(void) : _super()
39 {
40 }
41
53 void Initialize(CFtpSession& sec, DWORD dwFlags = 0)
54 {
55 Finish();
56 m_hInet = sec;
57 m_dwFlags = dwFlags;
58 }
59
61 virtual ~CFtpFileFinder(void)
62 {
63 OnFinish();
64 }
65
66protected:
67
75 virtual bool OnStart(WIN32_FIND_DATA& _data, LPCTSTR lpszName)
76 {
77 Finish();
78 if ( m_hInet.IsValid() )
79 {
80 m_hFind = m_hInet.FindFirstFile(lpszName, &_data, m_dwFlags, 0);
81 }
82 return !! m_hFind.IsValid();
83 }
84
93 virtual bool OnNext(WIN32_FIND_DATA& _data)
94 {
95 if ( m_hFind.IsValid() )
96 {
97 return !! m_hFind.FindNextFile(&_data);
98 }
99 return false;
100 }
101
106 virtual void OnFinish(void)
107 {
108 m_hFind.Close();
109 }
110
111private:
112 CInternetHandle m_hInet;
113 CInternetHandle m_hFind;
114 DWORD m_dwFlags;
115 friend class CFtpFileFinderTest;
116};
117
118
119
120}; //TNB
121
122
123
ファイル検索関係のヘッダ
FTP ファイル関係のヘッダ
ファイル検索抽象クラス
Definition: TnbFileFinder.h:33
void Finish(void)
[設定] 検索終了.
FTPファイル検索クラス
void Initialize(CFtpSession &sec, DWORD dwFlags=0)
[設定] 初期化
virtual ~CFtpFileFinder(void)
デストラクタ
CFtpFileFinder(void)
コンストラクタ
virtual void OnFinish(void)
[通知] 検索終了通知
virtual bool OnStart(WIN32_FIND_DATA &_data, LPCTSTR lpszName)
[通知] 検索開始通知
virtual bool OnNext(WIN32_FIND_DATA &_data)
[通知] 次検索通知
FTPセッション管理クラス
Definition: TnbFtpFile.h:36
INTERNETハンドル管理クラス
CInternetHandle FindFirstFile(LPCTSTR lpszSearchFile, LPWIN32_FIND_DATA lpFindFileData, DWORD dwFlags, DWORD_PTR dwContext=0) const
[検索] 検索開始.
bool FindNextFile(LPVOID pFindData) const
[検索] 検索続行.
bool IsValid(void) const
[確認] ハンドル有効確認
void Close(void)
[設定] クローズ.
TNB Library
Definition: TnbDoxyTitle.txt:2