TagLib API Documentation
matroskaattachedfile.h
Go to the documentation of this file.
1/***************************************************************************
2 * This library is free software; you can redistribute it and/or modify *
3 * it under the terms of the GNU Lesser General Public License version *
4 * 2.1 as published by the Free Software Foundation. *
5 * *
6 * This library is distributed in the hope that it will be useful, but *
7 * WITHOUT ANY WARRANTY; without even the implied warranty of *
8 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
9 * Lesser General Public License for more details. *
10 * *
11 * You should have received a copy of the GNU Lesser General Public *
12 * License along with this library; if not, write to the Free Software *
13 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
14 * 02110-1301 USA *
15 * *
16 * Alternatively, this file is available under the Mozilla Public *
17 * License Version 1.1. You may obtain a copy of the License at *
18 * http://www.mozilla.org/MPL/ *
19 ***************************************************************************/
20
21#ifndef TAGLIB_MATROSKAATTACHEDFILE_H
22#define TAGLIB_MATROSKAATTACHEDFILE_H
23
24#include <memory>
25#include "tstring.h"
26#include "taglib_export.h"
27
28namespace TagLib {
29 class String;
30 class ByteVector;
31
32 namespace Matroska {
35 {
36 public:
38 using UID = unsigned long long;
39
43 AttachedFile(const ByteVector &data, const String &fileName,
44 const String &mediaType, UID uid = 0,
45 const String &description = String());
46
51
55 AttachedFile(AttachedFile &&other) noexcept;
56
61
66
71
75 void swap(AttachedFile &other) noexcept;
76
80 const String &fileName() const;
81
85 const String &description() const;
86
90 const String &mediaType() const;
91
95 const ByteVector &data() const;
96
100 UID uid() const;
101
102 private:
103 class AttachedFilePrivate;
105 std::unique_ptr<AttachedFilePrivate> d;
106 };
107 }
108}
109
110#endif
A byte vector.
Definition tbytevector.h:46
Attached file embedded into a Matroska file.
Definition matroskaattachedfile.h:35
AttachedFile(const AttachedFile &other)
AttachedFile & operator=(const AttachedFile &other)
const String & mediaType() const
unsigned long long UID
Unique identifier.
Definition matroskaattachedfile.h:38
void swap(AttachedFile &other) noexcept
AttachedFile(const ByteVector &data, const String &fileName, const String &mediaType, UID uid=0, const String &description=String())
const String & fileName() const
const String & description() const
const ByteVector & data() const
AttachedFile(AttachedFile &&other) noexcept
AttachedFile & operator=(AttachedFile &&other) noexcept
A wide string class suitable for unicode.
Definition tstring.h:83
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
#define TAGLIB_EXPORT
Definition taglib_export.h:40
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition taglib_export.h:55