aboutsummaryrefslogtreecommitdiff
path: root/src/3rdParty/efsw/FileSystem.hpp
blob: 6c24386c5852f0c0a0061cce925faf7eda1456d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef EFSW_FILESYSTEM_HPP
#define EFSW_FILESYSTEM_HPP

#include <efsw/FileInfo.hpp>
#include <efsw/base.hpp>
#include <map>

namespace efsw {

class FileSystem {
  public:
	static bool isDirectory( const std::string& path );

	static FileInfoMap filesInfoFromPath( std::string path );

	static char getOSSlash();

	static bool slashAtEnd( std::string& dir );

	static void dirAddSlashAtEnd( std::string& dir );

	static void dirRemoveSlashAtEnd( std::string& dir );

	static std::string fileNameFromPath( std::string filepath );

	static std::string pathRemoveFileName( std::string filepath );

	static std::string getLinkRealPath( std::string dir, std::string& curPath );

	static std::string precomposeFileName( const std::string& name );

	static bool isRemoteFS( const std::string& directory );

	static bool changeWorkingDirectory( const std::string& path );

	static std::string getCurrentWorkingDirectory();
};

} // namespace efsw

#endif