00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef TAGLIB_FILEREF_H
00023
#define TAGLIB_FILEREF_H
00024
00025
#include "audioproperties.h"
00026
00027
namespace TagLib {
00028
00029
class String;
00030
class File;
00031
class Tag;
00032
00034
00068 class FileRef
00069 {
00070
public:
00071
00081
explicit FileRef(
const char *fileName,
00082
bool readAudioProperties =
true,
00083 AudioProperties::ReadStyle
00084 audioPropertiesStyle = AudioProperties::Average);
00085
00090
explicit FileRef(
File *
file);
00091
00095
FileRef(
const FileRef &ref);
00096
00100
virtual ~FileRef();
00101
00110
Tag *
tag()
const;
00111
00116
AudioProperties *
audioProperties()
const;
00117
00133
File *
file()
const;
00134
00138
void save();
00139
00143
bool isNull()
const;
00144
00148
FileRef &
operator=(
const FileRef &ref);
00149
00153
bool operator==(
const FileRef &ref)
const;
00154
00159
bool operator!=(
const FileRef &ref)
const;
00160
00170
static File *
create(
const char *fileName,
00171
bool readAudioProperties =
true,
00172 AudioProperties::ReadStyle audioPropertiesStyle = AudioProperties::Average);
00173
00174
private:
00175
class FileRefPrivate;
00176 FileRefPrivate *d;
00177 };
00178
00179 }
00180
00181
#endif