Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef TAGLIB_RIFFFILE_H
00027 #define TAGLIB_RIFFFILE_H
00028
00029 #include "taglib_export.h"
00030 #include "tfile.h"
00031
00032 namespace TagLib {
00033
00035
00036 namespace RIFF {
00037
00039
00046 class TAGLIB_EXPORT File : public TagLib::File
00047 {
00048 public:
00052 virtual ~File();
00053
00054 protected:
00055
00056 enum Endianness { BigEndian, LittleEndian };
00057
00058 File(FileName file, Endianness endianness);
00059
00063 uint riffSize() const;
00064
00068 uint chunkCount() const;
00069
00073 uint chunkOffset(uint i) const;
00074
00078 uint chunkDataSize(uint i) const;
00079
00083 uint chunkPadding(uint i) const;
00084
00088 ByteVector chunkName(uint i) const;
00089
00095 ByteVector chunkData(uint i);
00096
00104 void setChunkData(const ByteVector &name, const ByteVector &data);
00105
00106 private:
00107 File(const File &);
00108 File &operator=(const File &);
00109
00110 void read();
00111 void writeChunk(const ByteVector &name, const ByteVector &data,
00112 ulong offset, ulong replace = 0,
00113 uint leadingPadding = 0);
00114
00115 class FilePrivate;
00116 FilePrivate *d;
00117 };
00118 }
00119 }
00120
00121 #endif