MythTV
master
mythtv
libs
libmythmetadata
dbaccess.h
Go to the documentation of this file.
1
#ifndef DBACCESS_H_
2
#define DBACCESS_H_
3
4
#include <utility>
5
#include <vector>
6
7
// MythTV headers
8
#include "
mythmetaexp.h
"
9
10
class
SingleValueImp
;
11
12
class
META_PUBLIC
SingleValue
13
{
14
public
:
15
using
entry
= std::pair<int, QString>;
16
using
entry_list
= std::vector<entry>;
17
18
public
:
19
int
add(
const
QString &name);
20
bool
get
(
int
id
, QString &category);
21
void
remove(
int
id
);
22
bool
exists
(
int
id
);
23
bool
exists
(
const
QString &name);
24
const
entry_list
&getList();
25
26
void
load_data();
27
28
protected
:
29
explicit
SingleValue
(
SingleValueImp
*imp) : m_imp(imp) {}
30
virtual
~
SingleValue
();
31
32
private
:
33
SingleValueImp
*m_imp {
nullptr
};
34
};
35
36
class
MultiValueImp
;
37
class
META_PUBLIC
MultiValue
38
{
39
public
:
40
struct
entry
41
{
42
int
id
{0};
43
using
values_type
= std::vector<long>;
44
values_type
values
;
45
};
46
using
entry_list
= std::vector<entry>;
47
48
public
:
49
int
add(
int
id
,
int
value);
50
bool
get
(
int
id
,
entry
&values);
51
void
remove(
int
id
,
int
value);
52
void
remove(
int
id
);
53
bool
exists
(
int
id
,
int
value);
54
bool
exists
(
int
id
);
55
56
void
load_data();
57
58
protected
:
59
explicit
MultiValue
(
MultiValueImp
*imp) : m_imp(imp) {}
60
virtual
~
MultiValue
() =
default
;
61
62
private
:
63
MultiValueImp
*m_imp {
nullptr
};
64
};
65
66
class
META_PUBLIC
VideoCategory
:
public
SingleValue
67
{
68
public
:
69
static
VideoCategory
&GetCategory();
70
71
private
:
72
VideoCategory
();
73
~
VideoCategory
()
override
=
default
;
74
};
75
76
class
META_PUBLIC
VideoCountry
:
public
SingleValue
77
{
78
public
:
79
static
VideoCountry
&getCountry();
80
81
private
:
82
VideoCountry
();
83
~
VideoCountry
()
override
=
default
;
84
};
85
86
class
META_PUBLIC
VideoGenre
:
public
SingleValue
87
{
88
public
:
89
static
VideoGenre
&getGenre();
90
91
private
:
92
VideoGenre
();
93
~
VideoGenre
()
override
=
default
;
94
};
95
96
class
META_PUBLIC
VideoGenreMap
:
public
MultiValue
97
{
98
public
:
99
static
VideoGenreMap
&getGenreMap();
100
101
private
:
102
VideoGenreMap
();
103
~
VideoGenreMap
()
override
=
default
;
104
};
105
106
class
META_PUBLIC
VideoCountryMap
:
public
MultiValue
107
{
108
public
:
109
static
VideoCountryMap
&getCountryMap();
110
111
private
:
112
VideoCountryMap
();
113
~
VideoCountryMap
()
override
=
default
;
114
};
115
116
class
META_PUBLIC
VideoCast
:
public
SingleValue
117
{
118
public
:
119
static
VideoCast
&GetCast();
120
121
private
:
122
VideoCast
();
123
~
VideoCast
()
override
=
default
;
124
};
125
126
class
META_PUBLIC
VideoCastMap
:
public
MultiValue
127
{
128
public
:
129
static
VideoCastMap
&getCastMap();
130
131
private
:
132
VideoCastMap
();
133
~
VideoCastMap
()
override
=
default
;
134
};
135
136
class
META_PUBLIC
FileAssociations
137
{
138
public
:
139
struct
META_PUBLIC
file_association
140
{
141
unsigned
int
id
{0};
142
QString
extension
;
143
QString
playcommand
;
144
bool
ignore {
false
};
145
bool
use_default {
false
};
146
147
file_association
() =
default
;
148
file_association
(
unsigned
int
l_id, QString ext,
149
QString playcmd,
bool
l_ignore,
150
bool
l_use_default)
151
: id(l_id), extension(std::move(ext)), playcommand(std::move(playcmd)),
152
ignore(l_ignore), use_default(l_use_default) {}
153
};
154
using
association_list
= std::vector<file_association>;
155
using
ext_ignore_list
= std::vector<std::pair<QString, bool> >;
156
157
public
:
158
static
FileAssociations
&getFileAssociation();
159
160
public
:
161
bool
add(
file_association
&fa);
162
bool
get
(
unsigned
int
id
,
file_association
&val)
const
;
163
bool
get
(
const
QString &ext,
file_association
&val)
const
;
164
bool
remove(
unsigned
int
id
);
165
166
const
association_list
&getList()
const
;
167
168
void
getExtensionIgnoreList(
ext_ignore_list
&ext_ignore)
const
;
169
170
void
load_data();
171
172
private
:
173
FileAssociations
();
174
~
FileAssociations
();
175
176
private
:
177
class
FileAssociationsImp
*m_imp {
nullptr
};
178
};
179
180
#endif // DBACCESS_H_
VideoCategory
Definition:
dbaccess.h:66
VideoCountry
Definition:
dbaccess.h:76
FileAssociations::file_association::extension
QString extension
Definition:
dbaccess.h:142
VideoCast
Definition:
dbaccess.h:116
xbmcvfs.exists
bool exists(str path)
Definition:
xbmcvfs.py:51
MultiValue::MultiValue
MultiValue(MultiValueImp *imp)
Definition:
dbaccess.h:59
FileAssociationsImp
Definition:
dbaccess.cpp:584
FileAssociations
Definition:
dbaccess.h:136
mythmetaexp.h
FileAssociations::file_association::playcommand
QString playcommand
Definition:
dbaccess.h:143
MultiValue::entry_list
std::vector< entry > entry_list
Definition:
dbaccess.h:46
FileAssociations::ext_ignore_list
std::vector< std::pair< QString, bool > > ext_ignore_list
Definition:
dbaccess.h:155
FileAssociations::association_list
std::vector< file_association > association_list
Definition:
dbaccess.h:154
VideoCastMap
Definition:
dbaccess.h:126
VideoGenre
Definition:
dbaccess.h:86
MultiValueImp
Definition:
dbaccess.cpp:253
SingleValue
Definition:
dbaccess.h:12
SingleValue::SingleValue
SingleValue(SingleValueImp *imp)
Definition:
dbaccess.h:29
MultiValue::entry::values_type
std::vector< long > values_type
Definition:
dbaccess.h:43
SingleValue::entry
std::pair< int, QString > entry
Definition:
dbaccess.h:15
SingleValueImp
Definition:
dbaccess.cpp:27
FileAssociations::file_association::file_association
file_association(unsigned int l_id, QString ext, QString playcmd, bool l_ignore, bool l_use_default)
Definition:
dbaccess.h:148
hardwareprofile.distros.all.get
def get()
Definition:
all.py:22
MultiValue::entry::values
values_type values
Definition:
dbaccess.h:44
SingleValue::entry_list
std::vector< entry > entry_list
Definition:
dbaccess.h:16
VideoCountryMap
Definition:
dbaccess.h:106
FileAssociations::file_association
Definition:
dbaccess.h:139
MultiValue
Definition:
dbaccess.h:37
META_PUBLIC
#define META_PUBLIC
Definition:
mythmetaexp.h:9
VideoGenreMap
Definition:
dbaccess.h:96
MultiValue::entry
Definition:
dbaccess.h:40
Generated on Mon Nov 25 2024 03:16:04 for MythTV by
1.8.17