michael@0: /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef _SPECIALSYSTEMDIRECTORY_H_ michael@0: #define _SPECIALSYSTEMDIRECTORY_H_ michael@0: michael@0: #include "nscore.h" michael@0: #include "nsIFile.h" michael@0: michael@0: #ifdef MOZ_WIDGET_COCOA michael@0: #include michael@0: #include "nsILocalFileMac.h" michael@0: #include "prenv.h" michael@0: #endif michael@0: michael@0: extern void StartupSpecialSystemDirectory(); michael@0: michael@0: michael@0: enum SystemDirectories { michael@0: OS_DriveDirectory = 1, michael@0: OS_TemporaryDirectory = 2, michael@0: OS_CurrentProcessDirectory= 3, michael@0: OS_CurrentWorkingDirectory= 4, michael@0: XPCOM_CurrentProcessComponentDirectory= 5, michael@0: XPCOM_CurrentProcessComponentRegistry= 6, michael@0: michael@0: Moz_BinDirectory = 100 , michael@0: Mac_SystemDirectory = 101, michael@0: Mac_DesktopDirectory = 102, michael@0: Mac_TrashDirectory = 103, michael@0: Mac_StartupDirectory = 104, michael@0: Mac_ShutdownDirectory = 105, michael@0: Mac_AppleMenuDirectory = 106, michael@0: Mac_ControlPanelDirectory = 107, michael@0: Mac_ExtensionDirectory = 108, michael@0: Mac_FontsDirectory = 109, michael@0: Mac_ClassicPreferencesDirectory = 110, michael@0: Mac_DocumentsDirectory = 111, michael@0: Mac_InternetSearchDirectory = 112, michael@0: Mac_DefaultDownloadDirectory = 113, michael@0: Mac_UserLibDirectory = 114, michael@0: Mac_PreferencesDirectory = 115, michael@0: michael@0: Win_SystemDirectory = 201, michael@0: Win_WindowsDirectory = 202, michael@0: Win_HomeDirectory = 203, michael@0: Win_Desktop = 204, michael@0: Win_Programs = 205, michael@0: Win_Controls = 206, michael@0: Win_Printers = 207, michael@0: Win_Personal = 208, michael@0: Win_Favorites = 209, michael@0: Win_Startup = 210, michael@0: Win_Recent = 211, michael@0: Win_Sendto = 212, michael@0: Win_Bitbucket = 213, michael@0: Win_Startmenu = 214, michael@0: Win_Desktopdirectory = 215, michael@0: Win_Drives = 216, michael@0: Win_Network = 217, michael@0: Win_Nethood = 218, michael@0: Win_Fonts = 219, michael@0: Win_Templates = 220, michael@0: Win_Common_Startmenu = 221, michael@0: Win_Common_Programs = 222, michael@0: Win_Common_Startup = 223, michael@0: Win_Common_Desktopdirectory = 224, michael@0: Win_Appdata = 225, michael@0: Win_Printhood = 226, michael@0: Win_Cookies = 227, michael@0: Win_LocalAppdata = 228, michael@0: Win_ProgramFiles = 229, michael@0: Win_Downloads = 230, michael@0: Win_Common_AppData = 231, michael@0: Win_Documents = 232, michael@0: Win_Pictures = 233, michael@0: Win_Music = 234, michael@0: Win_Videos = 235, michael@0: michael@0: Unix_LocalDirectory = 301, michael@0: Unix_LibDirectory = 302, michael@0: Unix_HomeDirectory = 303, michael@0: Unix_XDG_Desktop = 304, michael@0: Unix_XDG_Documents = 305, michael@0: Unix_XDG_Download = 306, michael@0: Unix_XDG_Music = 307, michael@0: Unix_XDG_Pictures = 308, michael@0: Unix_XDG_PublicShare = 309, michael@0: Unix_XDG_Templates = 310, michael@0: Unix_XDG_Videos = 311 michael@0: }; michael@0: michael@0: nsresult michael@0: GetSpecialSystemDirectory(SystemDirectories aSystemSystemDirectory, michael@0: nsIFile** aFile); michael@0: #ifdef MOZ_WIDGET_COCOA michael@0: nsresult michael@0: GetOSXFolderType(short aDomain, OSType aFolderType, nsIFile **localFile); michael@0: #endif michael@0: michael@0: #endif