DCL
4.0
Loading...
Searching...
No Matches
APEv2.h
Go to the documentation of this file.
1
#ifndef __DCL_APEV2_H__
2
#define __DCL_APEV2_H__ 20250121
3
4
#ifndef __DCL_OBJECT_H__
5
#include <
dcl/Object.h
>
6
#endif
7
#ifndef __DCL_ARRAY_H__
8
#include <
dcl/Array.h
>
9
#endif
10
11
__DCL_BEGIN_NAMESPACE
12
13
class
File
;
14
15
class
APEv2
:
public
Object
16
{
17
DECLARE_CLASSINFO
(
APEv2
)
18
19
public
:
20
APEv2
();
21
~APEv2
();
22
27
static
uint32_t word(
const
char
_chars[4]);
28
46
bool
read(
File
& _file,
const
char
_footerOr[32], File::off_t _off);
47
48
virtual
String
toString
()
const
;
49
50
const
String& APETAGEX()
const
{
51
return
__APETAGEX
;
52
}
53
54
const
uint32_t version()
const
{
55
return
__version
;
56
}
57
58
const
uint32_t size()
const
{
59
return
__size
;
60
}
61
62
const
uint32_t count()
const
{
63
return
__count
;
64
}
65
66
const
uint32_t flags()
const
{
67
return
__flags
;
68
}
69
70
const
PointerArray& items()
const
{
71
return
__items
;
72
}
73
74
protected
:
75
76
// "APETAGEX"
77
String
__APETAGEX
;
78
79
// 1000 or 2000
80
uint32_t
__version
;
81
82
// footer를 제외한 header, item을 호함한 tag size
83
uint32_t
__size
;
84
85
// tag item의 개수
86
uint32_t
__count
;
87
88
// global flag of all items
89
uint32_t
__flags
;
90
91
char
*
__data
;
92
93
PointerArray
__items
;
94
};
95
96
class
APEv2Item
:
public
Object
97
{
98
DECLARE_CLASSINFO
(
APEv2Item
)
99
public
:
100
APEv2Item
();
101
102
size_t
read(
const
char
* _begin,
const
char
* _end);
103
104
virtual
String
toString
()
const
;
105
106
uint32_t size()
const
{
107
return
__size
;
108
}
109
110
uint32_t flags()
const
{
111
return
__flags
;
112
}
113
114
const
String& key() {
115
return
__key
;
116
}
117
118
const
String& value() {
119
return
__value
;
120
}
121
122
protected
:
123
// value in bytes
124
uint32_t
__size
;
125
126
uint32_t
__flags
;
127
128
String
__key
;
129
130
String
__value
;
131
132
};
133
134
__DCL_END_NAMESPACE
135
136
#endif
// __DCL_APEV2_H__
Array.h
Object.h
DECLARE_CLASSINFO
#define DECLARE_CLASSINFO(class_name)
Definition
Object.h:210
APEv2
Definition
APEv2.h:16
APEv2::__flags
uint32_t __flags
Definition
APEv2.h:89
APEv2::__count
uint32_t __count
Definition
APEv2.h:86
APEv2::__APETAGEX
String __APETAGEX
Definition
APEv2.h:77
APEv2::__size
uint32_t __size
Definition
APEv2.h:83
APEv2::__data
char * __data
Definition
APEv2.h:91
APEv2::__items
PointerArray __items
Definition
APEv2.h:93
APEv2::__version
uint32_t __version
Definition
APEv2.h:80
APEv2Item
Definition
APEv2.h:97
APEv2Item::__flags
uint32_t __flags
Definition
APEv2.h:126
APEv2Item::__value
String __value
Definition
APEv2.h:130
APEv2Item::__size
uint32_t __size
Definition
APEv2.h:124
APEv2Item::__key
String __key
Definition
APEv2.h:128
File
Definition
File.h:38
Object::Object
Object()
Definition
Object.cpp:183
Object::toString
virtual String toString() const
Definition
Object.cpp:187
work
mediatag
APEv2.h
Generated by
1.14.0