www.pudn.com > NEROSDK5582.ZIP > FindFile.h


/****************************************************************************** 
|* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
|* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
|* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
|* PARTICULAR PURPOSE. 
|*  
|* Copyright 1995-2002 Ahead Software AG. All Rights Reserved. 
|*----------------------------------------------------------------------------- 
|* NeroSDK / NeroCmd 
|* 
|* PROGRAM: FindFile.h 
|* 
|* PURPOSE: Helper class for ISO tree handling 
******************************************************************************/ 
 
 
#ifndef _FIND_FILE_H_ 
#define _FIND_FILE_H_ 
 
 
#include "stdafx.h" 
 
 
// This class is a helper for enumerating a directory tree. 
 
class CFindFiles { 
public: 
	_finddata_t m_fd; 
	long m_lHandle; 
	bool m_bValid; 
 
	CFindFiles (LPCSTR psPath); 
	~CFindFiles (); 
 
	inline bool IsValidEntry (void); 
	void FindNext (void); 
	bool IsSubDir (void); 
}; 
 
 
// Check if entry is valid 
 
inline bool CFindFiles::IsValidEntry (void) 
{ 
	return m_bValid; 
} 
 
 
// Find the next entry and set valid flag 
 
inline void CFindFiles::FindNext (void) 
{ 
	// _findnext returns 0 for success 
 
	if (0 == _findnext (m_lHandle, &m_fd)) 
	{ 
		m_bValid = true; 
	} 
	else 
	{ 
		m_bValid = false; 
	} 
 
} 
 
 
// Check if entry is a subdirectory 
 
inline bool CFindFiles::IsSubDir (void) 
{ 
	if (0 != (m_fd.attrib & _A_SUBDIR)) 
	{ 
		return true; 
	} 
	else 
	{ 
		return false; 
	} 
} 
 
#endif