|
1 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 #ifndef _SPECIALSYSTEMDIRECTORY_H_ |
|
7 #define _SPECIALSYSTEMDIRECTORY_H_ |
|
8 |
|
9 #include "nscore.h" |
|
10 #include "nsIFile.h" |
|
11 |
|
12 #ifdef MOZ_WIDGET_COCOA |
|
13 #include <Carbon/Carbon.h> |
|
14 #include "nsILocalFileMac.h" |
|
15 #include "prenv.h" |
|
16 #endif |
|
17 |
|
18 extern void StartupSpecialSystemDirectory(); |
|
19 |
|
20 |
|
21 enum SystemDirectories { |
|
22 OS_DriveDirectory = 1, |
|
23 OS_TemporaryDirectory = 2, |
|
24 OS_CurrentProcessDirectory= 3, |
|
25 OS_CurrentWorkingDirectory= 4, |
|
26 XPCOM_CurrentProcessComponentDirectory= 5, |
|
27 XPCOM_CurrentProcessComponentRegistry= 6, |
|
28 |
|
29 Moz_BinDirectory = 100 , |
|
30 Mac_SystemDirectory = 101, |
|
31 Mac_DesktopDirectory = 102, |
|
32 Mac_TrashDirectory = 103, |
|
33 Mac_StartupDirectory = 104, |
|
34 Mac_ShutdownDirectory = 105, |
|
35 Mac_AppleMenuDirectory = 106, |
|
36 Mac_ControlPanelDirectory = 107, |
|
37 Mac_ExtensionDirectory = 108, |
|
38 Mac_FontsDirectory = 109, |
|
39 Mac_ClassicPreferencesDirectory = 110, |
|
40 Mac_DocumentsDirectory = 111, |
|
41 Mac_InternetSearchDirectory = 112, |
|
42 Mac_DefaultDownloadDirectory = 113, |
|
43 Mac_UserLibDirectory = 114, |
|
44 Mac_PreferencesDirectory = 115, |
|
45 |
|
46 Win_SystemDirectory = 201, |
|
47 Win_WindowsDirectory = 202, |
|
48 Win_HomeDirectory = 203, |
|
49 Win_Desktop = 204, |
|
50 Win_Programs = 205, |
|
51 Win_Controls = 206, |
|
52 Win_Printers = 207, |
|
53 Win_Personal = 208, |
|
54 Win_Favorites = 209, |
|
55 Win_Startup = 210, |
|
56 Win_Recent = 211, |
|
57 Win_Sendto = 212, |
|
58 Win_Bitbucket = 213, |
|
59 Win_Startmenu = 214, |
|
60 Win_Desktopdirectory = 215, |
|
61 Win_Drives = 216, |
|
62 Win_Network = 217, |
|
63 Win_Nethood = 218, |
|
64 Win_Fonts = 219, |
|
65 Win_Templates = 220, |
|
66 Win_Common_Startmenu = 221, |
|
67 Win_Common_Programs = 222, |
|
68 Win_Common_Startup = 223, |
|
69 Win_Common_Desktopdirectory = 224, |
|
70 Win_Appdata = 225, |
|
71 Win_Printhood = 226, |
|
72 Win_Cookies = 227, |
|
73 Win_LocalAppdata = 228, |
|
74 Win_ProgramFiles = 229, |
|
75 Win_Downloads = 230, |
|
76 Win_Common_AppData = 231, |
|
77 Win_Documents = 232, |
|
78 Win_Pictures = 233, |
|
79 Win_Music = 234, |
|
80 Win_Videos = 235, |
|
81 |
|
82 Unix_LocalDirectory = 301, |
|
83 Unix_LibDirectory = 302, |
|
84 Unix_HomeDirectory = 303, |
|
85 Unix_XDG_Desktop = 304, |
|
86 Unix_XDG_Documents = 305, |
|
87 Unix_XDG_Download = 306, |
|
88 Unix_XDG_Music = 307, |
|
89 Unix_XDG_Pictures = 308, |
|
90 Unix_XDG_PublicShare = 309, |
|
91 Unix_XDG_Templates = 310, |
|
92 Unix_XDG_Videos = 311 |
|
93 }; |
|
94 |
|
95 nsresult |
|
96 GetSpecialSystemDirectory(SystemDirectories aSystemSystemDirectory, |
|
97 nsIFile** aFile); |
|
98 #ifdef MOZ_WIDGET_COCOA |
|
99 nsresult |
|
100 GetOSXFolderType(short aDomain, OSType aFolderType, nsIFile **localFile); |
|
101 #endif |
|
102 |
|
103 #endif |