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
|
|
|
|
|
|
|
|
|
#include <System/Types.h>
|
|
|
|
|
|
|
|
|
|
namespace System
|
|
|
|
|
{
|
|
|
|
|
namespace IO
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Performs operations on char* instances that contain file or directory path information. These
|
|
|
|
|
/// operations are performed in a cross-platform manner.
|
|
|
|
|
/// </summary>
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
static char* ChangeExtension(char* path, char* extension);
|
2011-11-07 01:29:50 +00:00
|
|
|
|
static char* Combine(char* path1, char* path2) __attribute__((nonnull (1, 2)));;
|
2010-12-04 16:14:34 +00:00
|
|
|
|
static char* GetDirectoryName(char* path);
|
|
|
|
|
static char* GetExtension(char* path);
|
|
|
|
|
static char* GetFileName(char* path);
|
|
|
|
|
static char* GetFileNameWithoutExtension(char* path);
|
|
|
|
|
static char* GetFullPath(char* path);
|
|
|
|
|
static char *GetInvalidPathChars();
|
|
|
|
|
static char* GetPathRoot(char* path);
|
|
|
|
|
static char* GetTempFileName();
|
|
|
|
|
static char* GetTempPath();
|
|
|
|
|
static bool HasExtension(char* path);
|
|
|
|
|
static bool IsPathRooted(char* path);
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2011-11-07 01:29:50 +00:00
|
|
|
|
#endif //_SYSTEM_IO_PATH_
|