#include <tfile.h>
Inheritance diagram for TagLib::File:
Public Types | |
enum | Position { Beginning, Current, End } |
Public Member Functions | |
virtual | ~File () |
const char * | name () const |
virtual Tag * | tag () const =0 |
virtual AudioProperties * | audioProperties () const =0 |
virtual void | save ()=0 |
ByteVector | readBlock (ulong length) |
void | writeBlock (const ByteVector &data) |
long | find (const ByteVector &pattern, long fromOffset=0, const ByteVector &before=ByteVector::null) |
long | rfind (const ByteVector &pattern, long fromOffset=0, const ByteVector &before=ByteVector::null) |
void | insert (const ByteVector &data, ulong start=0, ulong replace=0) |
void | removeBlock (ulong start=0, ulong length=0) |
bool | readOnly () const |
bool | isOpen () const |
bool | isValid () const |
void | seek (long offset, Position p=Beginning) |
void | clear () |
long | tell () const |
long | length () |
Static Public Member Functions | |
bool | isReadable (const char *file) |
bool | isWritable (const char *name) |
Protected Member Functions | |
File (const char *file) | |
void | setValid (bool valid) |
void | truncate (long length) |
Static Protected Member Functions | |
uint | bufferSize () |
This class is a basic file class with some methods that are particularly useful for tag editors. It has methods to take advantage of ByteVector and a binary search method for finding patterns in a file.
|
Position in the file used for seeking. |
|
Destroys this File instance. Reimplemented in TagLib::FLAC::File, TagLib::MPEG::File, TagLib::Ogg::File, and TagLib::Vorbis::File. |
|
Construct a File object and opens the file. file should be a be a C-string in the local file system encoding.
Reimplemented in TagLib::Ogg::File. |
|
Returns a pointer to this file's audio properties. This should be reimplemented in the concrete subclasses. If no audio properties were read then this will return a null pointer. Implemented in TagLib::FLAC::File, TagLib::MPEG::File, and TagLib::Vorbis::File. |
|
Returns the buffer size that is used for internal buffering. |
|
Reset the end-of-file and error flags on the file. |
|
Returns the offset in the file that pattern occurs at or -1 if it can not be found. If before is set, the search will only continue until the pattern before is found. This is useful for tagging purposes to search for a tag before the synch frame. Searching starts at fromOffset, which defaults to the beginning of the file.
|
|
Insert data at position start in the file overwriting replace bytes of the original content.
|
|
Since the file can currently only be opened as an argument to the constructor (sort-of by design), this returns if that open succeeded. |
|
Returns true if file can be opened for reading. If the file does not exist, this will return false. |
|
Returns true if the file is open and readble and valid information for the Tag and / or AudioProperties was found. |
|
Returns true if file can be opened for writing. |
|
Returns the length of the file. |
|
Returns the file name in the local file system encoding. |
|
Reads a block of size length at the current get pointer. |
|
Returns true if the file is read only (or if the file can not be opened). |
|
Removes a block of the file starting a start and continuing for length bytes.
|
|
Returns the offset in the file that pattern occurs at or -1 if it can not be found. If before is set, the search will only continue until the pattern before is found. This is useful for tagging purposes to search for a tag before the synch frame. Searching starts at fromOffset and proceeds from the that point to the beginning of the file and defaults to the end of the file.
|
|
Save the file and its associated tags. This should be reimplemented in the concrete subclasses. Implemented in TagLib::FLAC::File, TagLib::MPEG::File, TagLib::Ogg::File, and TagLib::Vorbis::File. |
|
Move the I/O pointer to offset in the file from position p. This defaults to seeking from the beginning of the file.
|
|
Marks the file as valid or invalid.
|
|
Returns a pointer to this file's tag. This should be reimplemented in the concrete subclasses. Implemented in TagLib::FLAC::File, TagLib::MPEG::File, and TagLib::Vorbis::File. |
|
Returns the current offset withing the file. |
|
Truncates the file to a length. |
|
Attempts to write the block data at the current get pointer. If the file is currently only opened read only -- i.e. readOnly() returns true -- this attempts to reopen the file in read/write mode.
|