michael@0: // Windows/FileName.h michael@0: michael@0: #ifndef __WINDOWS_FILENAME_H michael@0: #define __WINDOWS_FILENAME_H michael@0: michael@0: #include "../Common/String.h" michael@0: michael@0: namespace NWindows { michael@0: namespace NFile { michael@0: namespace NName { michael@0: michael@0: const TCHAR kDirDelimiter = CHAR_PATH_SEPARATOR; michael@0: const TCHAR kAnyStringWildcard = '*'; michael@0: michael@0: void NormalizeDirPathPrefix(CSysString &dirPath); // ensures that it ended with '\\' michael@0: #ifndef _UNICODE michael@0: void NormalizeDirPathPrefix(UString &dirPath); // ensures that it ended with '\\' michael@0: #endif michael@0: michael@0: namespace NPathType michael@0: { michael@0: enum EEnum michael@0: { michael@0: kLocal, michael@0: kUNC michael@0: }; michael@0: EEnum GetPathType(const UString &path); michael@0: } michael@0: michael@0: struct CParsedPath michael@0: { michael@0: UString Prefix; // Disk or UNC with slash michael@0: UStringVector PathParts; michael@0: void ParsePath(const UString &path); michael@0: UString MergePath() const; michael@0: }; michael@0: michael@0: void SplitNameToPureNameAndExtension(const UString &fullName, michael@0: UString &pureName, UString &extensionDelimiter, UString &extension); michael@0: michael@0: }}} michael@0: michael@0: #endif