|
1 // Windows/FileName.h |
|
2 |
|
3 #ifndef __WINDOWS_FILENAME_H |
|
4 #define __WINDOWS_FILENAME_H |
|
5 |
|
6 #include "../Common/String.h" |
|
7 |
|
8 namespace NWindows { |
|
9 namespace NFile { |
|
10 namespace NName { |
|
11 |
|
12 const TCHAR kDirDelimiter = CHAR_PATH_SEPARATOR; |
|
13 const TCHAR kAnyStringWildcard = '*'; |
|
14 |
|
15 void NormalizeDirPathPrefix(CSysString &dirPath); // ensures that it ended with '\\' |
|
16 #ifndef _UNICODE |
|
17 void NormalizeDirPathPrefix(UString &dirPath); // ensures that it ended with '\\' |
|
18 #endif |
|
19 |
|
20 namespace NPathType |
|
21 { |
|
22 enum EEnum |
|
23 { |
|
24 kLocal, |
|
25 kUNC |
|
26 }; |
|
27 EEnum GetPathType(const UString &path); |
|
28 } |
|
29 |
|
30 struct CParsedPath |
|
31 { |
|
32 UString Prefix; // Disk or UNC with slash |
|
33 UStringVector PathParts; |
|
34 void ParsePath(const UString &path); |
|
35 UString MergePath() const; |
|
36 }; |
|
37 |
|
38 void SplitNameToPureNameAndExtension(const UString &fullName, |
|
39 UString &pureName, UString &extensionDelimiter, UString &extension); |
|
40 |
|
41 }}} |
|
42 |
|
43 #endif |