Files
source/VFS/iteratedir.h
T
Wanne 47db604b50 *** Merged Code from Multiplayer Branch Revision 2960 ***
- Virtual File System (VFS) by birdflu. This is needed for Multiplayer and is also used for Single Player. Very neat system :-)
- Multiplayer Version 1.1 + some additional features and bugfixes
* INFO: If you compile a new EXE and want to test, be sure to also use the latest SVN GameDir files in your JA2 install directory *




git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2961 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2009-06-04 21:01:45 +00:00

53 lines
1010 B
C++

//
// Snap: Declaration of the TReadDir class
// This class reads the contents of a directory file-by-file
//
#ifndef _ITERATEDIR_H_
#define _ITERATEDIR_H_
#ifdef WIN32
#include <windows.h>
#else
#include <sys/types.h>
#include <sys/dir.h>
#include <unistd.h>
#include <stdio.h>
#endif
#include "vfs_types.h"
namespace os
{
class CIterateDirectory
{
public:
enum EFileAttribute
{
FA_DIRECTORY,
FA_FILE
};
public:
CIterateDirectory(vfs::Path const& sPath, utf8string const& searchPattern);
~CIterateDirectory();
bool NextFile(utf8string &fileName, CIterateDirectory::EFileAttribute &attrib);
private:
#ifdef WIN32
HANDLE fSearchHandle;
WIN32_FIND_DATAW fFileInfo;
#else
struct direct **files;
int count, current_pos;
#endif
bool fFirstRequest;
};
bool CreateRealDirecory(vfs::Path &sDir, bool bDoNotCreate=false);
bool DeleteRealFile(vfs::Path &sDir);
}; // end namespace
#endif // #ifndef _ITERATEDIR_H_