7 #ifndef BALL_SYSTEM_DIRECTORY_H
8 #define BALL_SYSTEM_DIRECTORY_H
14 #ifndef BALL_CONCEPT_PROCESSOR_H
18 #ifndef BALL_DATATYPE_STRING_H
22 #ifndef BALL_SYSTEM_FILESYSTEM_H
26 #ifdef BALL_HAS_DIRENT_H
29 #ifdef BALL_HAS_UNISTD_H
32 #ifdef BALL_HAS_SYS_STAT_H
33 # include <sys/stat.h>
35 #ifdef BALL_HAS_DIRECT_H
39 #ifdef BALL_COMPILER_MSVC
40 #define WINDOWS_LEAN_AND_MEAN
52 #ifndef BALL_OS_WINDOWS
53 # define INVALID_HANDLE_VALUE 0
124 bool set(
const String& directory_path,
bool set_current =
false);
153 const String& getPath()
const;
168 bool renameTo(
String new_path);
174 bool setCurrent(
String directory_path);
188 bool create(
String path,
const mode_t& mode = 0777);
196 bool remove(
String old_path);
208 bool getFirstEntry(
String& entry);
214 bool getNextEntry(
String& entry);
229 Size countDirectories();
248 bool has(
const String& item);
255 bool isValid()
const;
260 bool isCurrent()
const;
278 static String getUserHomeDir();
281 static bool changeToUserHomeDir();
291 int chdir_(
const String& new_dir);
297 bool desynchronize_(
bool result =
true);
298 #ifdef BALL_COMPILER_MSVC
309 # ifndef BALL_NO_INLINE_FUNCTIONS
310 # include <BALL/SYSTEM/directory.iC>
315 #endif // BALL_SYSTEM_DIRECTORY_H
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
BALL_EXPORT bool operator==(const String &s1, const String &s2)
static const Size MAX_PATH_LENGTH