LibreOffice
LibreOffice 24.2 SDK C/C++ API Reference
|
The file class object provides access to file contents and attributes. More...
#include <file.hxx>
Public Member Functions | |
File (const ::rtl::OUString &ustrFileURL) | |
Constructor. More... | |
~File () | |
Destructor. More... | |
rtl::OUString | getURL () const |
Obtain the URL. More... | |
RC | open (sal_uInt32 uFlags) |
Open a regular file. More... | |
RC | close () |
Close an open file. More... | |
SAL_WARN_UNUSED_RESULT RC | setPos (sal_uInt32 uHow, sal_Int64 uPos) |
Set the internal position pointer of an open file. More... | |
RC | getPos (sal_uInt64 &uPos) |
Retrieve the current position of the internal pointer of an open file. More... | |
RC | isEndOfFile (sal_Bool *pIsEOF) |
Test if the end of a file is reached. More... | |
RC | setSize (sal_uInt64 uSize) |
Set the file size of an open file. More... | |
RC | getSize (sal_uInt64 &rSize) |
Get the file size of an open file. More... | |
RC | read (void *pBuffer, sal_uInt64 uBytesRequested, sal_uInt64 &rBytesRead) |
Read a number of bytes from a file. More... | |
RC | write (const void *pBuffer, sal_uInt64 uBytesToWrite, sal_uInt64 &rBytesWritten) |
Write a number of bytes to a file. More... | |
RC | readLine (::rtl::ByteSequence &aSeq) |
Read a line from a file. More... | |
RC | sync () const |
Synchronize the memory representation of a file with that on the physical medium. More... | |
Static Public Member Functions | |
static RC | copy (const ::rtl::OUString &ustrSourceFileURL, const ::rtl::OUString &ustrDestFileURL) |
Copy a file to a new destination. More... | |
static RC | move (const ::rtl::OUString &ustrSourceFileURL, const ::rtl::OUString &ustrDestFileURL) |
Move a file or directory to a new destination or renames it. More... | |
static RC | replace (const ::rtl::OUString &ustrSourceFileURL, const ::rtl::OUString &ustrDestFileURL) |
Move a file to a new destination or rename it, taking old file's identity (if exists). More... | |
static RC | remove (const ::rtl::OUString &ustrFileURL) |
Remove a regular file. More... | |
static RC | setAttributes (const ::rtl::OUString &ustrFileURL, sal_uInt64 uAttributes) |
Set file attributes. More... | |
static RC | setTime (const ::rtl::OUString &ustrFileURL, const TimeValue &rCreationTime, const TimeValue &rLastAccessTime, const TimeValue &rLastWriteTime) |
Set the file time. More... | |
Static Public Member Functions inherited from osl::FileBase | |
static RC | getCanonicalName (const ::rtl::OUString &ustrRequestedURL, ::rtl::OUString &ustrValidURL) |
Determine a valid unused canonical name for a requested name. More... | |
static RC | getAbsoluteFileURL (const ::rtl::OUString &ustrBaseDirectoryURL, const ::rtl::OUString &ustrRelativeFileURL, ::rtl::OUString &ustrAbsoluteFileURL) |
Convert a path relative to a given directory into an full qualified file URL. More... | |
static RC | getSystemPathFromFileURL (const ::rtl::OUString &ustrFileURL, ::rtl::OUString &ustrSystemPath) |
Convert a file URL into a system dependent path. More... | |
static RC | getFileURLFromSystemPath (const ::rtl::OUString &ustrSystemPath, ::rtl::OUString &ustrFileURL) |
Convert a system dependent path into a file URL. More... | |
static RC | searchFileURL (const ::rtl::OUString &ustrFileName, const ::rtl::OUString &ustrSearchPath, ::rtl::OUString &ustrFileURL) |
Search a full qualified system path or a file URL. More... | |
static RC | getTempDirURL (::rtl::OUString &ustrTempDirURL) |
Retrieves the file URL of the system's temporary directory path. More... | |
static RC | createTempFile (::rtl::OUString *pustrDirectoryURL, oslFileHandle *pHandle, ::rtl::OUString *pustrTempFileURL) |
Creates a temporary file in the directory provided by the caller or the directory returned by getTempDirURL. More... | |
Friends | |
class | DirectoryItem |
Additional Inherited Members | |
Public Types inherited from osl::FileBase | |
enum | RC { E_None = osl_File_E_None, E_PERM = osl_File_E_PERM, E_NOENT = osl_File_E_NOENT, E_SRCH = osl_File_E_SRCH, E_INTR = osl_File_E_INTR, E_IO = osl_File_E_IO, E_NXIO = osl_File_E_NXIO, E_2BIG = osl_File_E_2BIG, E_NOEXEC = osl_File_E_NOEXEC, E_BADF = osl_File_E_BADF, E_CHILD = osl_File_E_CHILD, E_AGAIN = osl_File_E_AGAIN, E_NOMEM = osl_File_E_NOMEM, E_ACCES = osl_File_E_ACCES, E_FAULT = osl_File_E_FAULT, E_BUSY = osl_File_E_BUSY, E_EXIST = osl_File_E_EXIST, E_XDEV = osl_File_E_XDEV, E_NODEV = osl_File_E_NODEV, E_NOTDIR = osl_File_E_NOTDIR, E_ISDIR = osl_File_E_ISDIR, E_INVAL = osl_File_E_INVAL, E_NFILE = osl_File_E_NFILE, E_MFILE = osl_File_E_MFILE, E_NOTTY = osl_File_E_NOTTY, E_FBIG = osl_File_E_FBIG, E_NOSPC = osl_File_E_NOSPC, E_SPIPE = osl_File_E_SPIPE, E_ROFS = osl_File_E_ROFS, E_MLINK = osl_File_E_MLINK, E_PIPE = osl_File_E_PIPE, E_DOM = osl_File_E_DOM, E_RANGE = osl_File_E_RANGE, E_DEADLK = osl_File_E_DEADLK, E_NAMETOOLONG = osl_File_E_NAMETOOLONG, E_NOLCK = osl_File_E_NOLCK, E_NOSYS = osl_File_E_NOSYS, E_NOTEMPTY = osl_File_E_NOTEMPTY, E_LOOP = osl_File_E_LOOP, E_ILSEQ = osl_File_E_ILSEQ, E_NOLINK = osl_File_E_NOLINK, E_MULTIHOP = osl_File_E_MULTIHOP, E_USERS = osl_File_E_USERS, E_OVERFLOW = osl_File_E_OVERFLOW, E_NOTREADY = osl_File_E_NOTREADY, E_invalidError = osl_File_E_invalidError, E_TIMEDOUT = osl_File_E_TIMEDOUT, E_NETWORK = osl_File_E_NETWORK } |
The file class object provides access to file contents and attributes.
|
inline |
Constructor.
[in] | ustrFileURL | The full qualified URL of the file. Relative paths are not allowed. |
|
inline |
Destructor.
|
inline |
Close an open file.
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_BADF | Bad file |
E_INTR | function call was interrupted |
E_NOLINK | link has been severed |
E_NOSPC | no space left on device |
E_IO | on I/O errors |
|
inlinestatic |
Copy a file to a new destination.
Copies a file to a new destination. Copies only files not directories. No assumptions should be made about preserving attributes or file time.
[in] | ustrSourceFileURL | Full qualified URL of the source file. |
[in] | ustrDestFileURL | Full qualified URL of the destination file. A directory is NOT a valid destination file! |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_NOMEM | not enough memory for allocating structures |
E_ACCES | permission denied |
E_PERM | operation not permitted |
E_NAMETOOLONG | file name too long |
E_NOENT | no such file or directory |
E_ISDIR | is a directory |
E_ROFS | read-only file system |
|
inline |
Retrieve the current position of the internal pointer of an open file.
[out] | uPos | On success receives the current position of the file pointer. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_OVERFLOW | the resulting file offset would be a value which cannot be represented correctly for regular files |
|
inline |
Get the file size of an open file.
Gets the file size of an open file. The position of the file pointer is not affeced by this function.
[out] | rSize | Current size in bytes. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_OVERFLOW | the resulting file offset would be a value which cannot be represented correctly for regular files |
|
inline |
Test if the end of a file is reached.
[out] | pIsEOF | Points to a variable that receives the end-of-file status. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_INTR | function call was interrupted |
E_IO | on I/O errors |
E_ISDIR | is a directory |
E_BADF | bad file |
E_FAULT | bad address |
E_AGAIN | operation would block |
E_NOLINK | link has been severed |
|
inlinestatic |
Move a file or directory to a new destination or renames it.
Moves a file or directory to a new destination or renames it. File time and attributes are preserved.
[in] | ustrSourceFileURL | Full qualified URL of the source file. |
[in] | ustrDestFileURL | Full qualified URL of the destination file. An existing directory is NOT a valid destination ! |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_NOMEM | not enough memory for allocating structures |
E_ACCES | permission denied |
E_PERM | operation not permitted |
E_NAMETOOLONG | file name too long |
E_NOENT | no such file or directory |
E_ROFS | read-only file system |
|
inline |
Open a regular file.
Open a file. Only regular files can be opened.
[in] | uFlags | Specifies the open mode. |
E_None | on success |
E_NOMEM | not enough memory for allocating structures |
E_INVAL | the format of the parameters was not valid |
E_NAMETOOLONG | pathname was too long |
E_NOENT | no such file or directory |
E_ACCES | permission denied |
E_AGAIN | a write lock could not be established |
E_NOTDIR | not a directory |
E_NXIO | no such device or address |
E_NODEV | no such device |
E_ROFS | read-only file system |
E_TXTBSY | text file busy |
E_FAULT | bad address |
E_LOOP | too many symbolic links encountered |
E_NOSPC | no space left on device |
E_ISDIR | is a directory |
E_MFILE | too many open files used by the process |
E_NFILE | too many open files in the system |
E_DQUOT | quota exceeded |
E_EXIST | file exists |
E_INTR | function call was interrupted |
E_IO | on I/O errors |
E_MULTIHOP | multihop attempted |
E_NOLINK | link has been severed |
E_EOVERFLOW | value too large for defined data type |
|
inline |
Read a number of bytes from a file.
Reads a number of bytes from a file. The internal file pointer is increased by the number of bytes read.
[out] | pBuffer | Points to a buffer which receives data. The buffer must be large enough to hold uBytesRequested bytes. |
[in] | uBytesRequested | Number of bytes which should be retrieved. |
[out] | rBytesRead | On success the number of bytes which have actually been retrieved. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_INTR | function call was interrupted |
E_IO | on I/O errors |
E_ISDIR | is a directory |
E_BADF | bad file |
E_FAULT | bad address |
E_AGAIN | operation would block |
E_NOLINK | link has been severed |
|
inline |
Read a line from a file.
Reads a line from a file. The new line delimiter is NOT returned!
[in,out] | aSeq | A reference to a rtl::ByteSequence that will hold the line read on success. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_INTR | function call was interrupted |
E_IO | on I/O errors |
E_ISDIR | is a directory |
E_BADF | bad file |
E_FAULT | bad address |
E_AGAIN | operation would block |
E_NOLINK | link has been severed |
|
inlinestatic |
Remove a regular file.
[in] | ustrFileURL | Full qualified URL of the file to remove. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_NOMEM | not enough memory for allocating structures |
E_ACCES | permission denied |
E_PERM | operation not permitted |
E_NAMETOOLONG | file name too long |
E_NOENT | no such file or directory |
E_ISDIR | is a directory |
E_ROFS | read-only file system |
E_FAULT | bad address |
E_LOOP | too many symbolic links encountered |
E_IO | on I/O errors |
E_BUSY | device or resource busy |
E_INTR | function call was interrupted |
E_MULTIHOP | multihop attempted |
E_NOLINK | link has been severed |
E_TXTBSY | text file busy |
|
inlinestatic |
Move a file to a new destination or rename it, taking old file's identity (if exists).
Moves or renames a file, replacing an existing file if exist. If the old file existed, moved file's metadata, e.g. creation time (on FSes which keep files' creation time) or ACLs, are set to old one's (to keep the old file's identity) - currently this is only implemented fully on Windows; on other platforms, this is mostly equivalent to move().
[in] | ustrSourceFileURL | Full qualified URL of the source file. |
[in] | ustrDestFileURL | Full qualified URL of the destination file. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_NOMEM | not enough memory for allocating structures |
E_ACCES | permission denied |
E_PERM | operation not permitted |
E_NAMETOOLONG | file name too long |
E_NOENT | no such file |
E_ROFS | read-only file system |
E_BUSY | device or resource busy |
|
inlinestatic |
Set file attributes.
[in] | ustrFileURL | The full qualified file URL. |
[in] | uAttributes | Attributes of the file to be set. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
|
inline |
Set the internal position pointer of an open file.
[in] | uHow | Distance to move the internal position pointer (from uPos). |
[in] | uPos | Absolute position from the beginning of the file. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_OVERFLOW | the resulting file offset would be a value which cannot be represented correctly for regular files |
|
inline |
Set the file size of an open file.
Sets the file size of an open file. The file can be truncated or enlarged by the function. The position of the file pointer is not affeced by this function.
[in] | uSize | New size in bytes. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_OVERFLOW | the resulting file offset would be a value which cannot be represented correctly for regular files |
|
inlinestatic |
Set the file time.
[in] | ustrFileURL | The full qualified URL of the file. |
[in] | rCreationTime | Creation time of the given file. |
[in] | rLastAccessTime | Time of the last access of the given file. |
[in] | rLastWriteTime | Time of the last modifying of the given file. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_NOENT | no such file or directory not found |
|
inline |
Synchronize the memory representation of a file with that on the physical medium.
The function ensures that all modified data and attributes of the file associated with the given file handle have been written to the physical medium. In case the hard disk has a write cache enabled, the data may not really be on permanent storage when osl_syncFile returns.
E_None | On success |
E_INVAL | The value of the input parameter is invalid |
E_BADF | The file is not open for writing |
E_IO | An I/O error occurred |
E_NOSPC | There is no enough space on the target device |
E_ROFS | The file is located on a read only file system |
E_TIMEDOUT | A remote connection timed out. This may happen when a file is on a remote location |
|
inline |
Write a number of bytes to a file.
Writes a number of bytes to a file. The internal file pointer is increased by the number of bytes read.
[in] | pBuffer | Points to a buffer which contains the data. |
[in] | uBytesToWrite | Number of bytes which should be written. |
[out] | rBytesWritten | On success the number of bytes which have actually been written. |
E_None | on success |
E_INVAL | the format of the parameters was not valid |
E_FBIG | file too large |
E_DQUOT | quota exceeded |
E_AGAIN | operation would block |
E_BADF | bad file |
E_FAULT | bad address |
E_INTR | function call was interrupted |
E_IO | on I/O errors |
E_NOLCK | no record locks available |
E_NOLINK | link has been severed |
E_NOSPC | no space left on device |
E_NXIO | no such device or address |
|
friend |