id3v2header.h
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_ID3V2HEADER_H
00027 #define TAGLIB_ID3V2HEADER_H
00028
00029 #include "tbytevector.h"
00030 #include "taglib_export.h"
00031
00032 namespace TagLib {
00033
00034 namespace ID3v2 {
00035
00037
00047 class TAGLIB_EXPORT Header
00048 {
00049 public:
00053 Header();
00054
00059 Header(const ByteVector &data);
00060
00064 virtual ~Header();
00065
00070 uint majorVersion() const;
00071
00081 void setMajorVersion(uint version);
00082
00087 uint revisionNumber() const;
00088
00092 bool unsynchronisation() const;
00093
00097 bool extendedHeader() const;
00098
00102 bool experimentalIndicator() const;
00103
00107 bool footerPresent() const;
00119 uint tagSize() const;
00120
00127 uint completeTagSize() const;
00128
00133 void setTagSize(uint s);
00134
00138 static uint size();
00139
00144 static ByteVector fileIdentifier();
00145
00150 void setData(const ByteVector &data);
00151
00155 ByteVector render() const;
00156
00157 protected:
00162 void parse(const ByteVector &data);
00163
00164 private:
00165 Header(const Header &);
00166 Header &operator=(const Header &);
00167
00168 class HeaderPrivate;
00169 HeaderPrivate *d;
00170 };
00171
00172 }
00173 }
00174
00175 #endif