mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
- 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
53 lines
1010 B
C++
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_
|
|
|