1#ifndef JELLYFIN_MODEL_CONTROLLABLESESSION_H
2#define JELLYFIN_MODEL_CONTROLLABLESESSION_H
5#include <QScopedPointer>
6#include <QSharedPointer>
45Q_DECLARE_OPERATORS_FOR_FLAGS(MediaTypeClass::MediaTypes)
63 virtual QString
id()
const = 0;
67 virtual QString
name()
const = 0;
92 QString
id()
const override;
93 QString
name()
const override;
94 QString
appName()
const override;
109 QString
id()
const override;
110 QString
name()
const override;
111 QString
appName()
const override;
116 QSharedPointer<DTO::SessionInfo> m_data;
166 QScopedPointer<RemoteJellyfinSessionScannerPrivate> d_ptr;
An Api client for Jellyfin. Handles requests and authentication.
Definition apiclient.h:90
A session on the Jellyfin server that can be controlled.
Definition controllablesession.h:105
QString userName() const override
user The username of who started this session
Definition controllablesession.cpp:105
QString id() const override
An unique id for this session.
Definition controllablesession.cpp:54
PlaybackManager * createPlaybackManager() const override
Creates a playbackManager for this device. This PlaybackManager has no QObject parent and must be cle...
Definition controllablesession.cpp:109
ControllableJellyfinSession(QSharedPointer< DTO::SessionInfo > info, ApiClient &apiClient, QObject *parent=nullptr)
Definition controllablesession.cpp:49
DeviceType deviceType() const override
Definition controllablesession.cpp:66
QString name() const override
An human-readable name for this session.
Definition controllablesession.cpp:62
QString appName() const override
The app for this session.
Definition controllablesession.cpp:58
Abstract class for describing a playback session that can be controlled.
Definition controllablesession.h:56
virtual DeviceType deviceType() const =0
virtual QString name() const =0
An human-readable name for this session.
virtual QString userName() const =0
user The username of who started this session
virtual QString id() const =0
An unique id for this session.
virtual QString appName() const =0
The app for this session.
virtual PlaybackManager * createPlaybackManager() const =0
Creates a playbackManager for this device. This PlaybackManager has no QObject parent and must be cle...
Definition controllablesession.h:22
Value
Definition controllablesession.h:24
@ Phone
Definition controllablesession.h:28
@ Tv
Definition controllablesession.h:26
@ Computer
Definition controllablesession.h:27
@ Unknown
Definition controllablesession.h:25
Dummy session representing this device.
Definition controllablesession.h:88
QString userName() const override
user The username of who started this session
Definition controllablesession.cpp:38
QString appName() const override
The app for this session.
Definition controllablesession.cpp:25
QString name() const override
An human-readable name for this session.
Definition controllablesession.cpp:29
DeviceType deviceType() const override
Definition controllablesession.cpp:34
PlaybackManager * createPlaybackManager() const override
Creates a playbackManager for this device. This PlaybackManager has no QObject parent and must be cle...
Definition controllablesession.cpp:42
QString id() const override
An unique id for this session.
Definition controllablesession.cpp:21
LocalSession(ApiClient &apiClient, QObject *parent=nullptr)
Definition controllablesession.cpp:18
Base class for a playback manager.
Definition playbackmanager.h:59
Definition controllablesession.cpp:117
Lists controllable Jellyfin sessions from the Jellyfin server.
Definition controllablesession.h:156
void stopScanning() override
Definition controllablesession.cpp:163
RemoteJellyfinSessionScanner(ApiClient *client, QObject *parent)
Definition controllablesession.cpp:128
virtual ~RemoteJellyfinSessionScanner()
Definition controllablesession.cpp:133
void startScanning() override
Definition controllablesession.cpp:135
Definition controllablesession.h:123
virtual void startScanning()=0
virtual void stopScanning()=0
void sessionFound(Jellyfin::Model::ControllableSession *session)
RemoteSessionScanner(QObject *parent=nullptr)
Definition controllablesession.cpp:113
void sessionLost(const QString &sessionId)
MediaTypeClass::MediaTypes MediaTypes
Definition controllablesession.h:48
Jellyfin::DTO::ClientCapabilities ClientCapabilities
Definition clientcapabilities.h:158