Sayonara Player
Loading...
Searching...
No Matches
src
Utils
Tagging
AbstractFrame.h
1
/* AbstractFrame.h */
2
3
/* Copyright (C) 2011-2024 Michael Lugmair (Lucio Carreras)
4
*
5
* This file is part of sayonara player
6
*
7
* This program is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*/
20
21
#ifndef SAYONARA_TAGGING_ABSTRACTFRAME_H
22
#define SAYONARA_TAGGING_ABSTRACTFRAME_H
23
24
#include "Utils/Pimpl.h"
25
#include "Utils/Tagging/TaggingUtils.h"
26
27
#include <QString>
28
29
namespace
TagLib
30
{
31
class
Tag;
32
class
String;
33
}
34
35
namespace
Tagging
36
{
37
class
AbstractFrameHelper
38
{
39
public
:
40
explicit
AbstractFrameHelper
(
const
QByteArray& key = QByteArray());
41
virtual
~AbstractFrameHelper
();
42
43
protected
:
44
[[nodiscard]] QByteArray key()
const
;
45
[[nodiscard]] TagLib::ByteVector tagKey()
const
;
46
47
private
:
48
PIMPL(
AbstractFrameHelper
)
49
};
50
51
template
<
typename
TagImpl>
52
class
AbstractFrame
:
53
public
AbstractFrameHelper
54
{
55
private
:
56
TagImpl* mTag {
nullptr
};
57
58
protected
:
59
explicit
AbstractFrame
(TagImpl* tag,
const
QByteArray& key = QByteArray()) :
60
AbstractFrameHelper
(key),
61
mTag(tag) {}
62
63
~AbstractFrame
()
override
=
default
;
64
65
TagImpl* tag()
const
{
return
mTag; }
66
};
67
}
68
#endif
// SAYONARA_TAGGING_ABSTRACTFRAME_H
Tagging::AbstractFrameHelper
Definition
AbstractFrame.h:38
Tagging::AbstractFrame
Definition
AbstractFrame.h:54
Tagging
The GUI_TagEdit class.
Definition
Engine.h:33
Generated on Mon May 27 2024 00:00:00 for Sayonara Player by
1.10.0