2010-12-04 16:14:34 +00:00
|
|
|
|
/********************************************************
|
|
|
|
|
* Path.h *
|
|
|
|
|
* *
|
|
|
|
|
* XFX Path definition file *
|
|
|
|
|
* Copyright <EFBFBD> XFX Team. All Rights Reserved *
|
|
|
|
|
********************************************************/
|
2011-11-07 01:29:50 +00:00
|
|
|
|
#ifndef _SYSTEM_IO_PATH_
|
|
|
|
|
#define _SYSTEM_IO_PATH_
|
2010-12-04 16:14:34 +00:00
|
|
|
|
|
2012-09-28 20:36:02 +00:00
|
|
|
|
#include <System/String.h>
|
2010-12-04 16:14:34 +00:00
|
|
|
|
#include <System/Types.h>
|
|
|
|
|
|
|
|
|
|
namespace System
|
|
|
|
|
{
|
|
|
|
|
namespace IO
|
|
|
|
|
{
|
2012-09-28 20:36:02 +00:00
|
|
|
|
// Performs operations on String instances that contain file or directory path information.
|
|
|
|
|
// These operations are performed in a cross-platform manner.
|
2010-12-04 16:14:34 +00:00
|
|
|
|
class Path
|
|
|
|
|
{
|
|
|
|
|
private:
|
|
|
|
|
static bool dirEqualsVolume;
|
2011-11-07 01:29:50 +00:00
|
|
|
|
static const char* InvalidPathChars;
|
2010-12-04 16:14:34 +00:00
|
|
|
|
|
|
|
|
|
Path();
|
|
|
|
|
|
|
|
|
|
static void GetDrive(const char* szPartition, out char* cDriveLetter);
|
2011-11-07 01:29:50 +00:00
|
|
|
|
static char *Path::GetInvalidFileNameChars();
|
2010-12-04 16:14:34 +00:00
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
static const char AltDirectorySeparatorChar;
|
|
|
|
|
static const char DirectorySeparatorChar;
|
|
|
|
|
static const char PathSeparator;
|
|
|
|
|
static const char VolumeSeparatorChar;
|
|
|
|
|
|
2012-09-28 20:36:02 +00:00
|
|
|
|
static String ChangeExtension(const String& path, const String& extension);
|
|
|
|
|
static String Combine(const String& path1, const String& path2);
|
|
|
|
|
static String GetDirectoryName(char* path);
|
|
|
|
|
static String GetExtension(const String& path);
|
2010-12-04 16:14:34 +00:00
|
|
|
|
static char* GetFileName(char* path);
|
2012-09-28 20:36:02 +00:00
|
|
|
|
static String GetFileNameWithoutExtension(const String& path);
|
|
|
|
|
static char* GetFullPath(const String& path);
|
2010-12-04 16:14:34 +00:00
|
|
|
|
static char *GetInvalidPathChars();
|
|
|
|
|
static char* GetPathRoot(char* path);
|
|
|
|
|
static char* GetTempFileName();
|
|
|
|
|
static char* GetTempPath();
|
2012-09-28 20:36:02 +00:00
|
|
|
|
static bool HasExtension(const String& path);
|
|
|
|
|
static bool IsPathRooted(const String& path);
|
2010-12-04 16:14:34 +00:00
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2011-11-07 01:29:50 +00:00
|
|
|
|
#endif //_SYSTEM_IO_PATH_
|