TagLib  1.13.1
apefooter.h
Go to the documentation of this file.
1/***************************************************************************
2 copyright : (C) 2004 by Allan Sandfeld Jensen
3 email : kde@carewolf.org
4 ***************************************************************************/
5
6/***************************************************************************
7 * This library is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU Lesser General Public License version *
9 * 2.1 as published by the Free Software Foundation. *
10 * *
11 * This library is distributed in the hope that it will be useful, but *
12 * WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14 * Lesser General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU Lesser General Public *
17 * License along with this library; if not, write to the Free Software *
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
19 * 02110-1301 USA *
20 * *
21 * Alternatively, this file is available under the Mozilla Public *
22 * License Version 1.1. You may obtain a copy of the License at *
23 * http://www.mozilla.org/MPL/ *
24 ***************************************************************************/
25
26#ifndef TAGLIB_APEFOOTER_H
27#define TAGLIB_APEFOOTER_H
28
29#include "tbytevector.h"
30#include "taglib_export.h"
31
32namespace TagLib {
33
34 namespace APE {
35
37
44
46 {
47 public:
52
57 Footer(const ByteVector &data);
58
62 virtual ~Footer();
63
67 unsigned int version() const;
68
72 bool headerPresent() const;
73
77 bool footerPresent() const;
78
82 bool isHeader() const;
83
87 void setHeaderPresent(bool b) const;
88
92 unsigned int itemCount() const;
93
98 void setItemCount(unsigned int s);
99
106 unsigned int tagSize() const;
107
114 unsigned int completeTagSize() const;
115
120 void setTagSize(unsigned int s);
121
125 static unsigned int size();
126
132
137 void setData(const ByteVector &data);
138
143
149
150 protected:
155 void parse(const ByteVector &data);
156
161
162 private:
163 Footer(const Footer &);
164 Footer &operator=(const Footer &);
165
166 class FooterPrivate;
167 FooterPrivate *d;
168 };
169
170 } // namespace APE
171} // namespace TagLib
172
173#endif
unsigned int completeTagSize() const
bool isHeader() const
void parse(const ByteVector &data)
bool headerPresent() const
ByteVector renderHeader() const
void setData(const ByteVector &data)
void setHeaderPresent(bool b) const
static unsigned int size()
Footer(const ByteVector &data)
ByteVector render(bool isHeader) const
ByteVector renderFooter() const
unsigned int tagSize() const
void setTagSize(unsigned int s)
void setItemCount(unsigned int s)
static ByteVector fileIdentifier()
unsigned int itemCount() const
unsigned int version() const
bool footerPresent() const
A byte vector.
Definition tbytevector.h:46
An implementation of APE metadata.
Definition apefile.h:46
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
#define TAGLIB_EXPORT
Definition taglib_export.h:40