// Name: file.h
// Purpose: interface of wxTempFile, wxFile
// Author: wxWidgets team
-// RCS-ID: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
or test if it can be opened for writing with Access(). */
write,
- /** Open file for reading and writing; can not be used with Access() */
+ /** Open file for reading and writing; cannot be used with Access() */
read_write,
/** Open file for appending: the file is opened for writing, but the old contents
of the file are not erased and the file pointer is initially placed at the end
- of the file; can not be used with Access().
+ of the file; cannot be used with Access().
This is the same as OpenMode::write if the file doesn't exist.
*/
*/
~wxFile();
+ /**
+ Returns the error code for the last unsuccessful operation.
+
+ The error code is system-dependent and corresponds to the value of the
+ standard @c errno variable when the last error occurred.
+
+ Notice that only simple accessors such as IsOpened() and Eof() (and
+ this method itself) don't modify the last error value, all other
+ methods can potentially change it if an error occurs, including the
+ const ones such as Tell() or Length().
+
+ @since 2.9.2
+
+ @see ClearLastError()
+ */
+ int GetLastError() const;
+
+ /**
+ Resets the error code.
+
+ GetLastError() will return 0 until the next error occurs.
+
+ @since 2.9.2
+ */
+ void ClearLastError();
+
/**
This function verifies if we may access the given file in specified mode.
Only values of @c wxFile::read or @c wxFile::write really make sense here.
Get back a file descriptor from wxFile object - the caller is responsible for
closing the file if this descriptor is opened.
IsOpened() will return @false after call to Detach().
+
+ @return The file descriptor (this is new since wxWidgets 3.0.0, in the
+ previous versions this method didn't return anything).
*/
- void Detach();
+ int Detach();
/**
Returns @true if the end of the file has been reached.
*/
ssize_t Read(void* buffer, size_t count);
+ /**
+ Reads the entire contents of the file into a string.
+
+ @param str
+ Non-@NULL pointer to a string to read data into.
+ @param conv
+ Conversion object to use in Unicode build; by default supposes
+ that file contents is encoded in UTF-8 but falls back to the
+ current locale encoding (or Latin-1 if it is UTF-8 too) if it is
+ not.
+
+ @return @true if file was read successfully, @false otherwise.
+
+ @since 2.9.5
+ */
+ bool ReadAll(wxString* str, const wxMBConv& conv = wxConvAuto());
+
/**
Seeks to the specified position.