Sayonara Player
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Database
Albums.h
1
/* DatabaseAlbums.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 DATABASEALBUMS_H
22
#define DATABASEALBUMS_H
23
24
#include "Database/Utils.h"
25
#include "Utils/typedefs.h"
26
27
namespace
Library
28
{
29
class
Filter
;
30
}
31
32
class
Album
;
33
class
AlbumList
;
34
class
QSqlQuery;
35
36
namespace
DB
37
{
38
class
Module
;
39
class
Albums
40
{
41
public
:
42
Albums();
43
virtual
~Albums();
44
45
virtual
void
initViews();
46
47
virtual
bool
dbFetchAlbums(QSqlQuery& q,
AlbumList
& result)
const
;
48
49
virtual
bool
getAlbumByID(AlbumId
id
,
Album
& album)
const
;
50
virtual
bool
getAlbumByID(AlbumId
id
,
Album
& album,
bool
alsoEmpty)
const
;
51
52
virtual
bool
getAllAlbums(
AlbumList
& result,
bool
alsoEmpty)
const
;
53
virtual
bool
54
getAllAlbumsByArtist(
const
IdList& artists,
AlbumList
& result, const ::Library::Filter& filter)
const
;
55
56
virtual
bool
getAllAlbumsBySearchString(const ::Library::Filter& filter,
AlbumList
& result)
const
;
57
58
virtual
AlbumId updateAlbumRating(AlbumId
id
, Rating rating);
59
virtual
void
deleteOrphanedAlbums();
60
61
protected
:
62
// too dangerous to call it directly because multiple insertions
63
// may occur
64
virtual
AlbumId insertAlbumIntoDatabase(
const
QString& album);
65
virtual
AlbumId insertAlbumIntoDatabase(
const
Album
& album);
66
virtual
void
deleteAllAlbums();
67
68
[[nodiscard]]
virtual
ArtistIdInfo
artistIdInfo()
const
= 0;
69
[[nodiscard]]
virtual
QString trackView()
const
= 0;
70
[[nodiscard]]
virtual
QString trackSearchView()
const
= 0;
71
[[nodiscard]]
virtual
LibraryId libraryId()
const
= 0;
72
73
[[nodiscard]]
virtual
Module
* module() = 0;
74
[[nodiscard]]
virtual
const
Module
* module()
const
= 0;
75
76
virtual
void
updateAlbumCissearch();
77
78
private
:
79
[[nodiscard]]
virtual
QString fetchQueryAlbums(
bool
alsoEmpty)
const
;
80
};
81
}
82
83
#endif
// DATABASEALBUMS_H
AlbumList
Definition
Album.h:91
Album
Definition
Album.h:37
DB::Module
Definition
Module.h:32
Library::Filter
Definition
Filter.h:34
DB::ArtistIdInfo
Definition
Utils.h:48
Generated on
for Sayonara Player by
1.17.0