id3v2header.h
Go to the documentation of this file.
/***************************************************************************
copyright : (C) 2002 - 2008 by Scott Wheeler
email : wheeler@kde.org
***************************************************************************/
/***************************************************************************
* This library is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License version *
* 2.1 as published by the Free Software Foundation. *
* *
* This library is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
* 02110-1301 USA *
* *
* Alternatively, this file is available under the Mozilla Public *
* License Version 1.1. You may obtain a copy of the License at *
* http://www.mozilla.org/MPL/ *
***************************************************************************/
#ifndef TAGLIB_ID3V2HEADER_H
#define TAGLIB_ID3V2HEADER_H
#include "tbytevector.h"
#include "taglib_export.h"
namespace TagLib {
namespace ID3v2 {
class TAGLIB_EXPORT Header
{
public:
Header();
Header(const ByteVector &data);
~Header();
Header(const Header &) = delete;
Header &operator=(const Header &) = delete;
unsigned int majorVersion() const;
void setMajorVersion(unsigned int version);
unsigned int revisionNumber() const;
bool unsynchronisation() const;
bool extendedHeader() const;
bool experimentalIndicator() const;
bool footerPresent() const;
unsigned int tagSize() const;
unsigned int completeTagSize() const;
void setTagSize(unsigned int s);
static unsigned int size();
static ByteVector fileIdentifier();
void setData(const ByteVector &data);
ByteVector render() const;
protected:
void parse(const ByteVector &data);
private:
class HeaderPrivate;
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
std::unique_ptr<HeaderPrivate> d;
};
} // namespace ID3v2
} // namespace TagLib
#endif
TagLib::ByteVector
A byte vector.
Definition tbytevector.h:46
TagLib::ID3v2::Header::unsynchronisation
bool unsynchronisation() const
TagLib::ID3v2::Header::~Header
~Header()
TagLib::ID3v2::Header::Header
Header(const ByteVector &data)
TagLib::ID3v2::Header::completeTagSize
unsigned int completeTagSize() const
TagLib::ID3v2::Header::operator=
Header & operator=(const Header &)=delete
TagLib::ID3v2::Header::experimentalIndicator
bool experimentalIndicator() const
TagLib::ID3v2::Header::revisionNumber
unsigned int revisionNumber() const
TagLib::ID3v2::Header::parse
void parse(const ByteVector &data)
TagLib::ID3v2::Header::footerPresent
bool footerPresent() const
TagLib::ID3v2::Header::fileIdentifier
static ByteVector fileIdentifier()
TagLib::ID3v2::Header::render
ByteVector render() const
TagLib::ID3v2::Header::extendedHeader
bool extendedHeader() const
TagLib::ID3v2::Header::setData
void setData(const ByteVector &data)
TagLib::ID3v2::Header::size
static unsigned int size()
TagLib::ID3v2::Header::setTagSize
void setTagSize(unsigned int s)
TagLib::ID3v2::Header::Header
Header(const Header &)=delete
TagLib::ID3v2::Header::tagSize
unsigned int tagSize() const
TagLib::ID3v2::Header::majorVersion
unsigned int majorVersion() const
TagLib::ID3v2::Header::setMajorVersion
void setMajorVersion(unsigned int version)
TagLib::ID3v2::Header::Header
Header()
TagLib::ID3v2
An ID3v2 implementation.
Definition flacfile.h:39
TagLib
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
taglib_export.h
TAGLIB_EXPORT
#define TAGLIB_EXPORT
Definition taglib_export.h:40
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition taglib_export.h:55
tbytevector.h