Sayonara Player
Loading...
Searching...
No Matches
SoundcloudLibraryDatabase.h
1/* SoundcloudLibraryDatabase.h
2 *
3 * Copyright (C) 2011-2024 Michael Lugmair
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 SOUNDCLOUDLIBRARYDATABASE_H
22#define SOUNDCLOUDLIBRARYDATABASE_H
23
24#include "Database/LibraryDatabase.h"
25
26namespace SC
27{
28 class SearchInformationList;
29
32 {
33 public:
34 LibraryDatabase(const QString& connectionName, DbId databaseId, LibraryId libraryId);
35 ~LibraryDatabase() override;
36
37 QString fetchQueryAlbums(bool alsoEmpty = false) const override;
38 QString fetchQueryArtists(bool alsoEmpty = false) const override;
39 QString fetchQueryTracks(const QString& where) const override;
40
41 bool dbFetchTracks(QSqlQuery& query, MetaDataList& result) const override;
42 bool dbFetchAlbums(QSqlQuery& query, AlbumList& result) const override;
43 bool dbFetchArtists(QSqlQuery& query, ArtistList& result) const override;
44
45 ArtistId updateArtist(const Artist& artist);
46 ArtistId insertArtistIntoDatabase(const Artist& artist) override;
47 ArtistId insertArtistIntoDatabase(const QString& artist) override;
48
49 bool getAllAlbums(AlbumList& result, bool alsoEmpty) const override;
50 AlbumId updateAlbum(const Album& album);
51 AlbumId insertAlbumIntoDatabase(const Album& album) override;
52 AlbumId insertAlbumIntoDatabase(const QString& album) override;
53
54 bool updateTrack(const MetaData& track) override;
55 bool storeMetadata(const MetaDataList& tracks) override;
56
57 bool insertTrackIntoDatabase(const MetaData& track, int artistId, int albumId, int albumArtistId) override;
58
59 bool searchInformation(SC::SearchInformationList& searchInformation);
60 };
61}
62
63#endif // SOUNDCLOUDLIBRARYDATABASE_H
Definition Album.h:91
Definition Album.h:37
Definition Artist.h:61
Definition Artist.h:34
Definition LibraryDatabase.h:42
Definition MetaDataList.h:34
The MetaData class.
Definition MetaData.h:47
Definition SoundcloudLibraryDatabase.h:32
Definition SearchInformation.h:45