asfattribute.h
Go to the documentation of this file.
/**************************************************************************
copyright : (C) 2005-2007 by Lukáš Lalinský
email : lalinsky@gmail.com
**************************************************************************/
/***************************************************************************
* 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_ASFATTRIBUTE_H
#define TAGLIB_ASFATTRIBUTE_H
#include "tstring.h"
#include "tbytevector.h"
#include "taglib_export.h"
#include "asfpicture.h"
namespace TagLib
{
namespace ASF
{
class File;
class Picture;
class TAGLIB_EXPORT Attribute
{
public:
enum AttributeTypes {
UnicodeType = 0,
BytesType = 1,
BoolType = 2,
DWordType = 3,
QWordType = 4,
WordType = 5,
GuidType = 6
};
Attribute();
Attribute(const String &value);
Attribute(const ByteVector &value);
Attribute(const Picture &value);
Attribute(unsigned int value);
Attribute(unsigned long long value);
Attribute(unsigned short value);
Attribute(bool value);
Attribute(const Attribute &other);
Attribute &operator=(const Attribute &other);
void swap(Attribute &other) noexcept;
~Attribute();
AttributeTypes type() const;
unsigned short toBool() const;
unsigned short toUShort() const;
unsigned int toUInt() const;
unsigned long long toULongLong() const;
String toString() const;
ByteVector toByteVector() const;
Picture toPicture() const;
int language() const;
void setLanguage(int value);
int stream() const;
void setStream(int value);
#ifndef DO_NOT_DOCUMENT
/* THIS IS PRIVATE, DON'T TOUCH IT! */
String parse(ASF::File &file, int kind = 0);
#endif
int dataSize() const;
private:
friend class File;
ByteVector render(const String &name, int kind = 0) const;
class AttributePrivate;
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
std::shared_ptr<AttributePrivate> d;
};
} // namespace ASF
} // namespace TagLib
#endif
asfpicture.h
TagLib::ASF::Attribute::Attribute
Attribute(const String &value)
TagLib::ASF::Attribute::setLanguage
void setLanguage(int value)
TagLib::ASF::Attribute::Attribute
Attribute(const ByteVector &value)
TagLib::ASF::Attribute::setStream
void setStream(int value)
TagLib::ASF::Attribute::swap
void swap(Attribute &other) noexcept
TagLib::ASF::Attribute::toUShort
unsigned short toUShort() const
TagLib::ASF::Attribute::Attribute
Attribute(unsigned long long value)
TagLib::ASF::Attribute::Attribute
Attribute()
TagLib::ASF::Attribute::AttributeTypes
AttributeTypes
Definition asfattribute.h:50
TagLib::ASF::Attribute::BoolType
@ BoolType
Definition asfattribute.h:53
TagLib::ASF::Attribute::WordType
@ WordType
Definition asfattribute.h:56
TagLib::ASF::Attribute::UnicodeType
@ UnicodeType
Definition asfattribute.h:51
TagLib::ASF::Attribute::QWordType
@ QWordType
Definition asfattribute.h:55
TagLib::ASF::Attribute::BytesType
@ BytesType
Definition asfattribute.h:52
TagLib::ASF::Attribute::DWordType
@ DWordType
Definition asfattribute.h:54
TagLib::ASF::Attribute::GuidType
@ GuidType
Definition asfattribute.h:57
TagLib::ASF::Attribute::Attribute
Attribute(const Attribute &other)
TagLib::ASF::Attribute::File
friend class File
Definition asfattribute.h:197
TagLib::ASF::Attribute::stream
int stream() const
TagLib::ASF::Attribute::toBool
unsigned short toBool() const
TagLib::ASF::Attribute::~Attribute
~Attribute()
TagLib::ASF::Attribute::type
AttributeTypes type() const
TagLib::ASF::Attribute::toULongLong
unsigned long long toULongLong() const
TagLib::ASF::Attribute::Attribute
Attribute(const Picture &value)
TagLib::ASF::Attribute::Attribute
Attribute(unsigned int value)
TagLib::ASF::Attribute::dataSize
int dataSize() const
Returns the size of the stored data.
TagLib::ASF::Attribute::language
int language() const
TagLib::ASF::Attribute::toUInt
unsigned int toUInt() const
TagLib::ASF::Attribute::toString
String toString() const
TagLib::ASF::Attribute::operator=
Attribute & operator=(const Attribute &other)
TagLib::ASF::Attribute::Attribute
Attribute(bool value)
TagLib::ASF::Attribute::toByteVector
ByteVector toByteVector() const
TagLib::ASF::Attribute::Attribute
Attribute(unsigned short value)
TagLib::ASF::Attribute::toPicture
Picture toPicture() const
TagLib::ASF::File
An implementation of TagLib::File with ASF specific methods.
Definition asffile.h:47
TagLib::ASF::Picture
An ASF attached picture interface implementation.
Definition asfpicture.h:49
TagLib::ByteVector
A byte vector.
Definition tbytevector.h:46
TagLib::String
A wide string class suitable for unicode.
Definition tstring.h:83
TagLib::ASF
An implementation of ASF (WMA) metadata.
Definition asfattribute.h:37
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
tstring.h