-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdispatcher.h
More file actions
114 lines (102 loc) · 4.64 KB
/
dispatcher.h
File metadata and controls
114 lines (102 loc) · 4.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
//-----------------------------------------------------------------------------------------------------------
// Emby Explorer (Qt) (w) 2024-2025 by Jan Buchholz
// Control logic
// last change: 20251128
//-----------------------------------------------------------------------------------------------------------
#pragma once
#include <QVariant>
#include <QOperatingSystemVersion>
#include <qregularexpression.h>
#include "globals.h"
class Dispatcher : public QObject {
Q_OBJECT
public:
explicit Dispatcher(QObject *parent = nullptr);
~Dispatcher();
bool EmbyCheckHost(embySettings settings);
int EmbyAuthenticate(embySettings settings);
QVector<UserCollectionType> EmbyGetCollections();
QVector<QVariant> EmbyGetCollectionData(QString collectionId, QString collectionType);
QByteArray EmbyGetPrimaryPictureForItem(QString itemId);
QVector<ColumnsType> getColumns(QString collectionType);
QString CollectionTypes[3] = {COLLECTION_MOVIES, COLLECTION_TVSHOWS, COLLECTION_HOMEVIDEOS};
QString const TXT_NA = tr("n.a.");
QString const imageFormat = "png";
private:
QString userId;
QString accessToken;
QString baseUrl;
int maxActors = 1;
int maxDirectors = 1;
int maxGenres = 1;
int maxStudios = 1;
QString const maxWidth = "180";
QString const maxHeight = "250";
void buildDataTypesOutline();
QString appendItem(QString source, QString append);
MovieDataType evalMovieJsonData(QJsonValue value);
SeriesDataType evalSeriesJsonData(QJsonValue value);
VideoDataType evalVideoJsonData(QJsonValue value);
QString createPair(QString key, QString value);
QString createHeader();
QString evalRuntimeTicks(qint64 ticks);
QString evalJsonPeopleData(QJsonArray peopleArray, QString peopleType, int maxItems);
QString evalJsonStudioData(QJsonArray studioArray, int maxItems);
QString evalJsonGenreData(QJsonArray genreArray, int maxItems);
QString evalJsonMediaSourceData(QJsonArray mediasourceArray);
QString evalJsonResolutionData(QJsonValue value);
QString evalJsonCreatedAtData(QJsonValue value);
QVector<QVariant> sortMovieData(MovieDataTable tm);
QVector<QVariant> sortSeriesData(SeriesDataTable ts);
QVector<QVariant> sortVideoData(VideoDataTable tv);
QString const protoHttp = "http://";
QString const protoHttps = "https://";
QString const embyURI = "/emby";
QString const pApiKey = "?api_key=";
QString const kAuthUsername = "Username";
QString const kAuthPassword = "Pw";
QString const pAuthType = "Emby";
QString const pAuthVersion = "1.0.0.0";
QString const pAuthClient = "EmbyExplorerQt";
QString const pContentJson = "application/json";
QString const kContentType = "Content-Type";
QString const kAuthHeader = "Authorization";
QString const kAuthKeyUserId = "UserId";
QString const kAuthKeyClient = "Client";
QString const kAuthKeyDevice = "Device";
QString const kAuthKeyDeviceId = "DeviceId";
QString const kAuthKeyVersion = "Version";
QString const pParentId = "ParentId=";
QString const pRecursive = "Recursive=";
QString const pFields = "Fields=";
QString const pPrimaryImage = "Primary";
QString const pImageFormat = "format=";
QString const pMaxWidth = "MaxWidth=";
QString const pMaxHeight = "MaxHeight=";
QString const _UserId = "$1$";
QString const _ItemId = "$2$";
QString const endpointGETUsersPublic = "/Users/Public";
QString const endpointPOSTAuthenticateUser = "/Users/AuthenticateByName";
QString const endpointGETViews = "/Users/" + _UserId + "/Views";
QString const endpointGETItems = "/Users/" + _UserId + "/Items";
QString const endpointGETImages = "/Items/" + _ItemId + "/Images";
QString const CAP_TITLE = tr("Title");
QString const CAP_ORIGINALTITLE = tr("Original title");
QString const CAP_YEAR = tr("Year");
QString const CAP_TIME = tr("Runtime");
QString const CAP_ACTORS = tr("Cast");
QString const CAP_DIRECTOR = tr("Director");
QString const CAP_STUDIO = tr("Studio");
QString const CAP_GENRE = tr("Genre");
QString const CAP_EXTENSION = tr("Ext.");
QString const CAP_CODEC = tr("Codec");
QString const CAP_RESOLUTION = tr("Resolution");
QString const CAP_FILENAME = tr("File name");
QString const CAP_SERIES = tr("Series");
QString const CAP_SEASON = tr("Season");
QString const CAP_EPISODE = tr("Episode");
QString const CAP_FOLDER = tr("Folder");
QString const CAP_DATECREATED = tr("Added on");
QVector<DataType> dataTypes = {};
signals:
};