r=dougt, a=brendan
OS/2 specific changes for nsAppFileLocationProvider.cpp
This commit is contained in:
mkaply%us.ibm.com 2000-07-20 18:55:28 +00:00
Родитель ae97a6d9ab
Коммит e811719993
3 изменённых файлов: 72 добавлений и 6 удалений

Просмотреть файл

@ -38,7 +38,11 @@ static nsresult GetDefaultUserProfileRoot(nsILocalFile **aLocalFile);
#include "nsILocalFileMac.h" #include "nsILocalFileMac.h"
static nsresult GetMacFolder(OSType folderType, nsILocalFile** aFile); static nsresult GetMacFolder(OSType folderType, nsILocalFile** aFile);
#endif #endif
#if defined(XP_PC) && !defined(XP_OS2) #if defined(XP_OS2)
#define INCL_DOSPROCESS
#define INCL_DOSMODULEMGR
#include <os2.h>
#elif defined(XP_PC)
#include <windows.h> #include <windows.h>
#include <shlobj.h> #include <shlobj.h>
static nsresult GetWindowsFolder(int folder, nsILocalFile** aFile); static nsresult GetWindowsFolder(int folder, nsILocalFile** aFile);
@ -467,7 +471,25 @@ static nsresult GetDefaultUserProfileRoot(nsILocalFile **aLocalFile)
rv = pLocalFile->Create(nsIFile::DIRECTORY_TYPE, 0); rv = pLocalFile->Create(nsIFile::DIRECTORY_TYPE, 0);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
} }
#elif defined(XP_PC) && !defined(XP_OS2) #elif defined(XP_OS2)
PPIB ppib;
PTIB ptib;
char buffer[CCHMAXPATH];
DosGetInfoBlocks( &ptib, &ppib);
DosQueryModuleName( ppib->pib_hmte, CCHMAXPATH, buffer);
*strrchr( buffer, '\\') = '\0'; // OS2TODO DBCS misery
*strrchr( buffer, '\\') = '\0'; // OS2TODO DBCS misery
rv = NS_NewLocalFile(buffer, PR_TRUE, aLocalFile);
NS_ENSURE_SUCCESS(rv, rv);
pLocalFile = *aLocalFile;
pLocalFile->AppendRelativePath("Users50");
rv = pLocalFile->Exists(&exists);
NS_ENSURE_SUCCESS(rv, rv);
if (!exists) {
rv = pLocalFile->Create(nsIFile::DIRECTORY_TYPE, 0);
NS_ENSURE_SUCCESS(rv, rv);
}
#elif defined(XP_PC)
rv = GetWindowsFolder(CSIDL_PROGRAMS, aLocalFile); rv = GetWindowsFolder(CSIDL_PROGRAMS, aLocalFile);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
pLocalFile = *aLocalFile; pLocalFile = *aLocalFile;

Просмотреть файл

@ -38,7 +38,11 @@ static nsresult GetDefaultUserProfileRoot(nsILocalFile **aLocalFile);
#include "nsILocalFileMac.h" #include "nsILocalFileMac.h"
static nsresult GetMacFolder(OSType folderType, nsILocalFile** aFile); static nsresult GetMacFolder(OSType folderType, nsILocalFile** aFile);
#endif #endif
#if defined(XP_PC) && !defined(XP_OS2) #if defined(XP_OS2)
#define INCL_DOSPROCESS
#define INCL_DOSMODULEMGR
#include <os2.h>
#elif defined(XP_PC)
#include <windows.h> #include <windows.h>
#include <shlobj.h> #include <shlobj.h>
static nsresult GetWindowsFolder(int folder, nsILocalFile** aFile); static nsresult GetWindowsFolder(int folder, nsILocalFile** aFile);
@ -467,7 +471,25 @@ static nsresult GetDefaultUserProfileRoot(nsILocalFile **aLocalFile)
rv = pLocalFile->Create(nsIFile::DIRECTORY_TYPE, 0); rv = pLocalFile->Create(nsIFile::DIRECTORY_TYPE, 0);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
} }
#elif defined(XP_PC) && !defined(XP_OS2) #elif defined(XP_OS2)
PPIB ppib;
PTIB ptib;
char buffer[CCHMAXPATH];
DosGetInfoBlocks( &ptib, &ppib);
DosQueryModuleName( ppib->pib_hmte, CCHMAXPATH, buffer);
*strrchr( buffer, '\\') = '\0'; // OS2TODO DBCS misery
*strrchr( buffer, '\\') = '\0'; // OS2TODO DBCS misery
rv = NS_NewLocalFile(buffer, PR_TRUE, aLocalFile);
NS_ENSURE_SUCCESS(rv, rv);
pLocalFile = *aLocalFile;
pLocalFile->AppendRelativePath("Users50");
rv = pLocalFile->Exists(&exists);
NS_ENSURE_SUCCESS(rv, rv);
if (!exists) {
rv = pLocalFile->Create(nsIFile::DIRECTORY_TYPE, 0);
NS_ENSURE_SUCCESS(rv, rv);
}
#elif defined(XP_PC)
rv = GetWindowsFolder(CSIDL_PROGRAMS, aLocalFile); rv = GetWindowsFolder(CSIDL_PROGRAMS, aLocalFile);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
pLocalFile = *aLocalFile; pLocalFile = *aLocalFile;

Просмотреть файл

@ -38,7 +38,11 @@ static nsresult GetDefaultUserProfileRoot(nsILocalFile **aLocalFile);
#include "nsILocalFileMac.h" #include "nsILocalFileMac.h"
static nsresult GetMacFolder(OSType folderType, nsILocalFile** aFile); static nsresult GetMacFolder(OSType folderType, nsILocalFile** aFile);
#endif #endif
#if defined(XP_PC) && !defined(XP_OS2) #if defined(XP_OS2)
#define INCL_DOSPROCESS
#define INCL_DOSMODULEMGR
#include <os2.h>
#elif defined(XP_PC)
#include <windows.h> #include <windows.h>
#include <shlobj.h> #include <shlobj.h>
static nsresult GetWindowsFolder(int folder, nsILocalFile** aFile); static nsresult GetWindowsFolder(int folder, nsILocalFile** aFile);
@ -467,7 +471,25 @@ static nsresult GetDefaultUserProfileRoot(nsILocalFile **aLocalFile)
rv = pLocalFile->Create(nsIFile::DIRECTORY_TYPE, 0); rv = pLocalFile->Create(nsIFile::DIRECTORY_TYPE, 0);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
} }
#elif defined(XP_PC) && !defined(XP_OS2) #elif defined(XP_OS2)
PPIB ppib;
PTIB ptib;
char buffer[CCHMAXPATH];
DosGetInfoBlocks( &ptib, &ppib);
DosQueryModuleName( ppib->pib_hmte, CCHMAXPATH, buffer);
*strrchr( buffer, '\\') = '\0'; // OS2TODO DBCS misery
*strrchr( buffer, '\\') = '\0'; // OS2TODO DBCS misery
rv = NS_NewLocalFile(buffer, PR_TRUE, aLocalFile);
NS_ENSURE_SUCCESS(rv, rv);
pLocalFile = *aLocalFile;
pLocalFile->AppendRelativePath("Users50");
rv = pLocalFile->Exists(&exists);
NS_ENSURE_SUCCESS(rv, rv);
if (!exists) {
rv = pLocalFile->Create(nsIFile::DIRECTORY_TYPE, 0);
NS_ENSURE_SUCCESS(rv, rv);
}
#elif defined(XP_PC)
rv = GetWindowsFolder(CSIDL_PROGRAMS, aLocalFile); rv = GetWindowsFolder(CSIDL_PROGRAMS, aLocalFile);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
pLocalFile = *aLocalFile; pLocalFile = *aLocalFile;