attachedpictureframe.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_ATTACHEDPICTUREFRAME_H
#define TAGLIB_ATTACHEDPICTUREFRAME_H
#include "taglib_export.h"
#include "tpicturetype.h"
#include "id3v2frame.h"
namespace TagLib {
namespace ID3v2 {
class TAGLIB_EXPORT AttachedPictureFrame : public Frame
{
friend class FrameFactory;
public:
/*
* This describes the function or content of the picture.
*/
DECLARE_PICTURE_TYPE_ENUM(Type)
AttachedPictureFrame();
explicit AttachedPictureFrame(const ByteVector &data);
~AttachedPictureFrame() override;
AttachedPictureFrame(const AttachedPictureFrame &) = delete;
AttachedPictureFrame &operator=(const AttachedPictureFrame &) = delete;
String toString() const override;
StringList toStringList() const override;
String::Type textEncoding() const;
void setTextEncoding(String::Type t);
String mimeType() const;
void setMimeType(const String &m);
Type type() const;
void setType(Type t);
String description() const;
void setDescription(const String &desc);
ByteVector picture() const;
void setPicture(const ByteVector &p);
protected:
void parseFields(const ByteVector &data) override;
ByteVector renderFields() const override;
class AttachedPictureFramePrivate;
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
std::unique_ptr<AttachedPictureFramePrivate> d;
private:
AttachedPictureFrame(const ByteVector &data, Header *h);
};
class TAGLIB_EXPORT AttachedPictureFrameV22 : public AttachedPictureFrame
{
protected:
void parseFields(const ByteVector &data) override;
private:
AttachedPictureFrameV22(const ByteVector &data, Header *h);
friend class FrameFactory;
};
} // namespace ID3v2
} // namespace TagLib
#endif
TagLib::ByteVector
A byte vector.
Definition tbytevector.h:46
TagLib::ID3v2::AttachedPictureFrameV22::parseFields
void parseFields(const ByteVector &data) override
TagLib::ID3v2::AttachedPictureFrameV22::FrameFactory
friend class FrameFactory
Definition attachedpictureframe.h:188
TagLib::ID3v2::AttachedPictureFrame::type
Type type() const
TagLib::ID3v2::AttachedPictureFrame::AttachedPictureFrame
AttachedPictureFrame()
TagLib::ID3v2::AttachedPictureFrame::mimeType
String mimeType() const
TagLib::ID3v2::AttachedPictureFrame::textEncoding
String::Type textEncoding() const
TagLib::ID3v2::AttachedPictureFrame::setType
void setType(Type t)
TagLib::ID3v2::AttachedPictureFrame::description
String description() const
TagLib::ID3v2::AttachedPictureFrame::parseFields
void parseFields(const ByteVector &data) override
TagLib::ID3v2::AttachedPictureFrame::toString
String toString() const override
TagLib::ID3v2::AttachedPictureFrame::setPicture
void setPicture(const ByteVector &p)
TagLib::ID3v2::AttachedPictureFrame::setDescription
void setDescription(const String &desc)
TagLib::ID3v2::AttachedPictureFrame::d
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE std::unique_ptr< AttachedPictureFramePrivate > d
Definition attachedpictureframe.h:175
TagLib::ID3v2::AttachedPictureFrame::FrameFactory
friend class FrameFactory
Definition attachedpictureframe.h:48
TagLib::ID3v2::AttachedPictureFrame::toStringList
StringList toStringList() const override
TagLib::ID3v2::AttachedPictureFrame::setTextEncoding
void setTextEncoding(String::Type t)
TagLib::ID3v2::AttachedPictureFrame::setMimeType
void setMimeType(const String &m)
TagLib::ID3v2::AttachedPictureFrame::renderFields
ByteVector renderFields() const override
TagLib::ID3v2::AttachedPictureFrame::picture
ByteVector picture() const
TagLib::ID3v2::Frame::Header
ID3v2 frame header implementation.
Definition id3v2frame.h:293
TagLib::ID3v2::Frame::Frame
Frame(const Frame &)=delete
TagLib::StringList
A list of strings.
Definition tstringlist.h:44
TagLib::String
A wide string class suitable for unicode.
Definition tstring.h:83
id3v2frame.h
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
tpicturetype.h