1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef _SPECIALSYSTEMDIRECTORY_H_
8 #define _SPECIALSYSTEMDIRECTORY_H_
13 #ifdef MOZ_WIDGET_COCOA
14 # include "nsILocalFileMac.h"
18 enum SystemDirectories
{
19 OS_TemporaryDirectory
= 2,
20 // 3 Used to be OS_CurrentProcessDirectory, which we never actually
21 // supported getting...
22 OS_CurrentWorkingDirectory
= 4,
24 Mac_SystemDirectory
= 101,
25 Mac_UserLibDirectory
= 102,
26 Mac_HomeDirectory
= 103,
27 Mac_DefaultDownloadDirectory
= 104,
28 Mac_UserDesktopDirectory
= 105,
29 Mac_LocalApplicationsDirectory
= 106,
30 Mac_UserPreferencesDirectory
= 107,
31 Mac_PictureDocumentsDirectory
= 108,
32 Mac_DefaultScreenshotDirectory
= 109,
34 Win_SystemDirectory
= 201,
35 Win_WindowsDirectory
= 202,
36 Win_HomeDirectory
= 203,
39 Win_Desktopdirectory
= 213,
42 Win_LocalAppdata
= 224,
43 Win_ProgramFiles
= 225,
45 #if defined(MOZ_THUNDERBIRD) || defined(MOZ_SUITE)
49 Unix_HomeDirectory
= 303,
50 Unix_XDG_Desktop
= 304,
51 Unix_XDG_Download
= 306,
52 Unix_SystemConfigDirectory
= 307
55 nsresult
GetSpecialSystemDirectory(SystemDirectories aSystemSystemDirectory
,
57 #ifdef MOZ_WIDGET_COCOA
58 nsresult
GetOSXFolderType(short aDomain
, OSType aFolderType
,
59 nsIFile
** aLocalFile
);