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