Sayonara Player
Loading...
Searching...
No Matches
src
Components
Streaming
Soundcloud
SoundcloudJsonParser.h
1
/* SoundcloudJsonParser.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 SOUNDCLOUDJSONPARSER_H
22
#define SOUNDCLOUDJSONPARSER_H
23
24
#include "Utils/Pimpl.h"
25
26
#include <QJsonObject>
27
#include <QJsonArray>
28
#include <QObject>
29
#include <QList>
30
#include <QString>
31
32
#include <optional>
33
34
class
MetaData
;
35
class
MetaDataList
;
36
class
Artist
;
37
class
Album
;
38
class
ArtistList
;
39
class
AlbumList
;
40
41
class
QByteArray;
42
namespace
SC
43
{
44
struct
OAuthTokenInfo
45
{
46
QString oauthToken;
47
QString refreshToken;
48
int
expiresIn {-1};
49
};
50
51
class
JsonParser
52
{
53
PIMPL(
JsonParser
)
54
55
public
:
56
explicit
JsonParser
(
const
QByteArray& content);
57
~JsonParser
();
58
59
bool
parseArtists(
ArtistList
& artists)
const
;
60
bool
parseTracks(
ArtistList
& artists,
MetaDataList
& tracks)
const
;
61
bool
parsePlaylists(
ArtistList
& artists,
AlbumList
& albums,
MetaDataList
& tracks)
const
;
62
63
std::optional<SC::OAuthTokenInfo> parseToken()
const
;
64
};
65
}
66
67
#endif
// SOUNDCLOUDJSONPARSER_H
AlbumList
Definition
Album.h:91
Album
Definition
Album.h:37
ArtistList
Definition
Artist.h:61
Artist
Definition
Artist.h:34
MetaDataList
Definition
MetaDataList.h:34
MetaData
Definition
MetaData.h:43
SC::JsonParser
Definition
SoundcloudJsonParser.h:52
SC::OAuthTokenInfo
Definition
SoundcloudJsonParser.h:45
Generated on Sat Jul 20 2024 00:00:00 for Sayonara Player by
1.12.0