]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/tempfile.tex
Doc corrections; added HelpGen project files
[wxWidgets.git] / docs / latex / wx / tempfile.tex
CommitLineData
7f561143
VZ
1% automatically generated by HelpGen from tempfile.tex at 10/Jan/99 19:24:44
2\section{\class{wxTempFile}}\label{wxtempfile}
3
4wxTempFile provides a relatively safe way to replace the contents of the
5existing file. The name is explained by the fact that it may be also used as
6just a temporary file if you don't replace the old file contents.
7
8Usually, when a program replaces the contents of some file it first opens it for
9writing, thus losing all of the old data and then starts recreating it. This
10approach is not very safe because during the regeneration of the file bad things
11may happen: the program may find that there is an internal error preventing it
12from completing file generation, the user may interrupt it (especially if file
13generation takes long time) and, finally, any other external interrupts (power
14supply failure or a disk error) will leave you without either the original file
15or the new one.
16
17wxTempFile addresses this problem by creating a temporary file which is meant to
18replace the original file - but only after it is fully written. So, if the user
19interrupts the program during the file generation, the old file won't be lost.
20Also, if the program discovers itself that it doesn't want to replace the old
21file there is no problem - in fact, wxTempFile will {\bf not} replace the old
22file by default, you should explicitly call \helpref{Commit}{wxtempfilecommit}
23to do it. Calling \helpref{Discard}{wxtempfilediscard} explicitly discards any
24modifications: it closes and deletes the temporary file and leaves the original
25file unchanged. If you don't call neither of Commit() and Discard(), the
26destructor will call Discard() automatically.
27
28To summarize: if you want to replace another file, create an instance of
29wxTempFile passing the name of the file to be replaced to the constructor (you
30may also use default constructor and pass the file name to
31\helpref{Open}{wxtempfileopen}). Then you can \helpref{write}{wxtempfilewrite}
32to wxTempFile using \helpref{wxFile}{wxfile}-like functions and later call
33Commit() to replace the old file (and close this one) or call Discard() to cancel
34the modifications.
35
36\wxheading{Derived from}
37
38No base class
39
954b8ae6
JS
40\wxheading{Include files}
41
42<wx/file.h>
43
7f561143
VZ
44\wxheading{See also:}
45
46\helpref{wxFile}{wxfile}
47
48\latexignore{\rtfignore{\wxheading{Members}}}
49
50\membersection{wxTempFile::wxTempFile}\label{wxtempfilewxtempfilector}
b2cf617c 51
7f561143
VZ
52\func{}{wxTempFile}{\void}
53
54Default constructor - \helpref{Open}{wxtempfileopen} must be used to open the
55file.
56
57\membersection{wxTempFile::wxTempFile}\label{wxtempfilewxtempfile}
b2cf617c 58
7f561143
VZ
59\func{}{wxTempFile}{\param{const wxString\& }{strName}}
60
b2cf617c 61Associates wxTempFile with the file to be replaced and opens it. You should use
7f561143
VZ
62\helpref{IsOpened}{wxtempfileisopened} to verify if the constructor succeeded.
63
64\membersection{wxTempFile::Open}\label{wxtempfileopen}
b2cf617c 65
7f561143
VZ
66\func{bool}{Open}{\param{const wxString\& }{strName}}
67
68Open the temporary file (strName is the name of file to be replaced), returns
f6bcfd97 69TRUE on success, FALSE if an error occurred.
7f561143
VZ
70
71\membersection{wxTempFile::IsOpened}\label{wxtempfileisopened}
72\constfunc{bool}{IsOpened}{\void}
73
74Returns TRUE if the file was successfully opened.
75
76\membersection{wxTempFile::Write}\label{wxtempfilewrite}
b2cf617c 77
7f561143
VZ
78\func{bool}{Write}{\param{const void }{*p}, \param{size\_t }{n}}
79
80Write to the file, return TRUE on success, FALSE on failure.
81
82\membersection{wxTempFile::Write}\label{wxtempfilewrites}
b2cf617c 83
7f561143
VZ
84\func{bool}{Write}{\param{const wxString\& }{str}}
85
86Write to the file, return TRUE on success, FALSE on failure.
87
88\membersection{wxTempFile::Commit}\label{wxtempfilecommit}
b2cf617c 89
7f561143
VZ
90\func{bool}{Commit}{\void}
91
92Validate changes: deletes the old file of name m\_strName and renames the new
93file to the old name. Returns TRUE if both actions succeeded. If FALSE is
94returned it may unfortunately mean two quite different things: either that
95either the old file couldn't be deleted or that the new file couldn't be renamed
96to the old name.
97
98\membersection{wxTempFile::Discard}\label{wxtempfilediscard}
b2cf617c 99
7f561143
VZ
100\func{void}{Discard}{\void}
101
102Discard changes: the old file contents is not changed, temporary file is
103deleted.
104
105\membersection{wxTempFile::\destruct{wxTempFile}}\label{wxtempfiledtor}
b2cf617c 106
7f561143
VZ
107\func{}{\destruct{wxTempFile}}{\void}
108
109Destructor calls \helpref{Discard()}{wxtempfilediscard} if temporary file
110is still opened.
111