blob: a7e19ad3d7290cc7425ee54b4c72999c00a31b82 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
// --------------------------------------------------------------------------
//
// File
// Name: InvisibleTempFileStream.cpp
// Purpose: IOStream interface to temporary files that
// delete themselves
// Created: 2006/10/13
//
// --------------------------------------------------------------------------
#include "Box.h"
#include "InvisibleTempFileStream.h"
#include "MemLeakFindOn.h"
// --------------------------------------------------------------------------
//
// Function
// Name: InvisibleTempFileStream::InvisibleTempFileStream
// (const char *, int, int)
// Purpose: Constructor, opens invisible file
// Created: 2006/10/13
//
// --------------------------------------------------------------------------
InvisibleTempFileStream::InvisibleTempFileStream(const char *Filename, int flags, int mode)
#ifdef WIN32
: FileStream(::openfile(Filename, flags | O_TEMPORARY, mode))
#else
: FileStream(::open(Filename, flags, mode))
#endif
{
#ifndef WIN32
if(unlink(Filename) != 0)
{
MEMLEAKFINDER_NOT_A_LEAK(this);
THROW_EXCEPTION(CommonException, OSFileOpenError)
}
#endif
}
|