mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-29 07:42:04 +00:00
Bug 1154435 - [nsDumpUtil] Refine nsDumpUtils::OpenTempFile to make this function more flexible. r=dhylands
- Add one more mode in this function (CREATE/CREATE_UNIQUE) - export the header file for the usage of other components
This commit is contained in:
parent
2cb037411f
commit
a7f16b9ea6
@ -53,6 +53,7 @@ EXPORTS += [
|
||||
'nscore.h',
|
||||
'nsCycleCollector.h',
|
||||
'nsDebugImpl.h',
|
||||
'nsDumpUtils.h',
|
||||
'nsError.h',
|
||||
'nsGZFileWriter.h',
|
||||
'nsIID.h',
|
||||
|
@ -435,7 +435,7 @@ FifoWatcher::OnFileCanReadWithoutBlocking(int aFd)
|
||||
// Otherwise, it will open a file named aFilename under "NS_OS_TEMP_DIR".
|
||||
/* static */ nsresult
|
||||
nsDumpUtils::OpenTempFile(const nsACString& aFilename, nsIFile** aFile,
|
||||
const nsACString& aFoldername)
|
||||
const nsACString& aFoldername, Mode aMode)
|
||||
{
|
||||
#ifdef ANDROID
|
||||
// For Android, first try the downloads directory which is world-readable
|
||||
@ -488,9 +488,13 @@ nsDumpUtils::OpenTempFile(const nsACString& aFilename, nsIFile** aFile,
|
||||
return rv;
|
||||
}
|
||||
|
||||
rv = file->CreateUnique(nsIFile::NORMAL_FILE_TYPE, 0666);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return rv;
|
||||
if (aMode == CREATE_UNIQUE) {
|
||||
rv = file->CreateUnique(nsIFile::NORMAL_FILE_TYPE, 0666);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return rv;
|
||||
}
|
||||
} else {
|
||||
file->Create(nsIFile::NORMAL_FILE_TYPE, 0666);
|
||||
}
|
||||
|
||||
#ifdef ANDROID
|
||||
|
@ -180,10 +180,15 @@ private:
|
||||
|
||||
#endif // XP_UNIX }
|
||||
|
||||
|
||||
class nsDumpUtils
|
||||
{
|
||||
public:
|
||||
|
||||
enum Mode {
|
||||
CREATE,
|
||||
CREATE_UNIQUE
|
||||
};
|
||||
|
||||
/**
|
||||
* This function creates a new unique file based on |aFilename| in a
|
||||
* world-readable temp directory. This is the system temp directory
|
||||
@ -193,7 +198,8 @@ public:
|
||||
*/
|
||||
static nsresult OpenTempFile(const nsACString& aFilename,
|
||||
nsIFile** aFile,
|
||||
const nsACString& aFoldername = EmptyCString());
|
||||
const nsACString& aFoldername = EmptyCString(),
|
||||
Mode aMode = CREATE_UNIQUE);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user