mirror of
https://github.com/HenkKalkwater/harbour-sailfin.git
synced 2024-11-15 22:15:18 +00:00
Compare commits
59 commits
Author | SHA1 | Date | |
---|---|---|---|
Chris Josten | 53f3e6aa1c | ||
Chris Josten | 57b67292fd | ||
Chris Josten | edcd3a93af | ||
Chris Josten | 5328e63e2c | ||
Chris Josten | 19efba457c | ||
Chris Josten | fbe8f5631c | ||
Chris Josten | 22046a654a | ||
Chris Josten | 7bf7b4039a | ||
Chris Josten | 982e5c2825 | ||
Chris Josten | 0329f31db0 | ||
Chris Josten | 720a1ed5ff | ||
Chris Josten | c5541b0b16 | ||
Chris Josten | 5e62fe7624 | ||
Chris Josten | a35d8026be | ||
Chris Josten | 3c02985990 | ||
Chris Josten | a66434afa8 | ||
Chris Josten | 13786f01c9 | ||
Chris Josten | 5cd0b10b73 | ||
Chris Josten | bb45637d0b | ||
Chris Josten | 3fb373a8ef | ||
Chris Josten | f0328e2c80 | ||
Chris Josten | 9266f65c2f | ||
Chris Josten | 1b27847c94 | ||
Chris Josten | 6ed623d0f8 | ||
Chris Josten | d7910faed5 | ||
8b81fae67f | |||
8b94a2dd30 | |||
Chris Josten | 61a7eaf52e | ||
Chris Josten | 7c6d8486de | ||
Chris Josten | 3783de9ce7 | ||
Chris Josten | 7a7ddc7717 | ||
Chris Josten | 77cb5d5957 | ||
Chris Josten | b257fe60aa | ||
Chris Josten | b1bd15f2c1 | ||
Chris Josten | c72c10bad4 | ||
Chris Josten | f91e9f88e7 | ||
Chris Josten | b8933ddca4 | ||
Chris Josten | 0fafb19c7d | ||
Chris Josten | 3f9661ccb5 | ||
Chris Josten | fb81913eab | ||
Chris Josten | dc9c3ea1b8 | ||
Chris Josten | 0c0b91dc4b | ||
Chris Josten | 2398cc2997 | ||
Chris Josten | 985a65154a | ||
Chris Josten | 4a178ee227 | ||
Chris Josten | c1e402f411 | ||
Chris Josten | 818443dbae | ||
Chris Josten | eecebc4ec6 | ||
Chris Josten | ade8866303 | ||
Chris Josten | dd34e1a087 | ||
Chris Josten | 7ae204bf87 | ||
Chris Josten | 62d9b9a73c | ||
Chris Josten | f34f3484f3 | ||
Chris Josten | 69ddb18046 | ||
Chris Josten | 748e5bdf13 | ||
Chris Josten | cab5f20469 | ||
Chris Josten | deada4f635 | ||
Chris Josten | 852e3e928f | ||
Chris Josten | 90db983c30 |
13
.github/FUNDING.yml
vendored
Normal file
13
.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||||
|
patreon: # Replace with a single Patreon username
|
||||||
|
open_collective: # Replace with a single Open Collective username
|
||||||
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
|
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||||
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
|
liberapay: heartfin # Replace with a single Liberapay username
|
||||||
|
issuehunt: # Replace with a single IssueHunt username
|
||||||
|
otechie: # Replace with a single Otechie username
|
||||||
|
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
||||||
|
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
40
.github/workflows/doxygen.yaml
vendored
Normal file
40
.github/workflows/doxygen.yaml
vendored
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
name: doxygen
|
||||||
|
run-name: Generate and deploy Doxygen documentation
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- "master"
|
||||||
|
workflow_dispatch: {}
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Configure pages
|
||||||
|
uses: actions/configure-pages@v3
|
||||||
|
- name: Install the doxyqml filter
|
||||||
|
run: pip install doxyqml
|
||||||
|
- name: Doxygen
|
||||||
|
uses: mattnotmitt/doxygen-action@edge
|
||||||
|
- name: Upload GitHub pages artifact
|
||||||
|
uses: "actions/upload-pages-artifact@v2"
|
||||||
|
with:
|
||||||
|
path: "doxygen/html/"
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||||||
|
steps:
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
id: deployment
|
||||||
|
uses: "actions/deploy-pages@v2"
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -5,7 +5,9 @@ rpm/*.spec
|
||||||
build/
|
build/
|
||||||
build-*/
|
build-*/
|
||||||
.dub/
|
.dub/
|
||||||
|
doxygen/
|
||||||
|
|
||||||
# IDE files
|
# IDE files
|
||||||
*.user
|
*.user
|
||||||
CMakeLists.txt.user.*
|
CMakeLists.txt.user.*
|
||||||
|
compile_commands.json
|
||||||
|
|
6
.gitmodules
vendored
6
.gitmodules
vendored
|
@ -0,0 +1,6 @@
|
||||||
|
[submodule "core/doc/doxygen-awesome-css"]
|
||||||
|
path = core/doc/doxygen-awesome-css
|
||||||
|
url = https://github.com/jothepro/doxygen-awesome-css.git
|
||||||
|
[submodule "3rdparty/doxygen-awesome-css"]
|
||||||
|
path = 3rdparty/doxygen-awesome-css
|
||||||
|
url = https://github.com/jothepro/doxygen-awesome-css.git
|
1
3rdparty/doxygen-awesome-css
vendored
Submodule
1
3rdparty/doxygen-awesome-css
vendored
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 5b27b3a747ca1e559fa54149762cca0bad6036fb
|
|
@ -4,7 +4,6 @@ set (CMAKE_CXX_STANDARD 17)
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
cmake_policy(SET CMP0048 NEW)
|
cmake_policy(SET CMP0048 NEW)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
|
||||||
|
|
||||||
# Options
|
# Options
|
||||||
option(PLATFORM_SAILFISHOS "Build SailfishOS version of application" OFF)
|
option(PLATFORM_SAILFISHOS "Build SailfishOS version of application" OFF)
|
||||||
|
|
45
README.md
45
README.md
|
@ -1,8 +1,51 @@
|
||||||
# Sailfin
|
# Sailfin
|
||||||
|
[!["Chat via Matrix"](https://img.shields.io/matrix/sailfin:netsoj.nl?label=Chat%20via%20Matrix&logo=matrix&server_fqdn=meetriks.netsoj.nl&style=for-the-badge)](https://matrix.to/#/#sailfin:netsoj.nl)
|
||||||
Sailfin is a [Sailfish OS](https://sailfishos.org) client for [Jellyfin](https://jellyfin.org), a media server, written in C++ and qml.
|
Sailfin is a [Sailfish OS](https://sailfishos.org) client for [Jellyfin](https://jellyfin.org), a media server, written in C++ and qml.
|
||||||
|
|
||||||
|
## Download
|
||||||
|
This application can be found on [OpenRepos.net](https://openrepos.net/content/ahappyhuman/sailfin)
|
||||||
|
|
||||||
## Screenshots (running on Sailfish OS)
|
## Screenshots (running on Sailfish OS)
|
||||||
<img alt="Screenshot showing the library root" src="graphics/screenshot-sailfish-1.png" width="33%" /> <img alt="Screenshot showing TV show page" src="graphics/screenshot-sailfish-2.png" width="33%" /> <img alt="Screenshot showing the video player" src="graphics/screenshot-sailfish-3.png" width="33%" />
|
<img alt="Screenshot showing the library root" src="graphics/screenshot-sailfish-1.png" width="33%" /> <img alt="Screenshot showing TV show page" src="graphics/screenshot-sailfish-2.png" width="33%" />
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
Please [see this page for how the Jellyfin Qt library works](https://heartfin.github.io/harbour-sailfin/guides.html).
|
||||||
|
and [see this page for contribution guidelines](https://heartfin.github.io/harbour-sailfin/contributing.html).
|
||||||
|
|
||||||
|
## Code layout
|
||||||
|
```
|
||||||
|
├── 3rdparty 3rd-party libraries
|
||||||
|
├── cmake Additional CMake modules
|
||||||
|
│
|
||||||
|
├── core The core Qt library named Jellyfin-Qt
|
||||||
|
│ ├── codegen Template files for code generation based on the OpenAPI spec
|
||||||
|
│ ├── dbus DBus interface description files
|
||||||
|
│ ├── doc Extra documentation files for the generated documentation
|
||||||
|
│ ├── include Publically includable files
|
||||||
|
│ ├── qrc Resources for the library
|
||||||
|
│ └── src C++ source code
|
||||||
|
│
|
||||||
|
├── graphics Source graphics files, meant to be edited
|
||||||
|
│ └── qtquick-theme Custom graphics for the QtQuick theme
|
||||||
|
│
|
||||||
|
├── qtquick QtQuick application for testing, based on the core library
|
||||||
|
│ ├── assets Custom assets
|
||||||
|
│ ├── qml QML UI files
|
||||||
|
│ ├── SailfinStyle QtQuick theme files
|
||||||
|
│ └── src C++ code
|
||||||
|
│
|
||||||
|
├── rpm Files for packaging the application
|
||||||
|
│
|
||||||
|
└── sailfish The Sailfish OS app based on the core library
|
||||||
|
├── icons Launcher icons
|
||||||
|
├── qml QML UI files
|
||||||
|
│ ├── components Reusable QML components
|
||||||
|
│ ├── cover Cover pages
|
||||||
|
│ ├── licenses Licence texts for libraries
|
||||||
|
│ └── pages Application pages
|
||||||
|
├── src C++ source code
|
||||||
|
└── translations UI translation files
|
||||||
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
This application is licensed under the LGPLv2.1 license, although you may opt to choose a newer version of the LGPL if you want so.
|
This application is licensed under the LGPLv2.1 license, although you may opt to choose a newer version of the LGPL if you want so.
|
||||||
|
|
|
@ -13,9 +13,14 @@ include(GNUInstallDirs)
|
||||||
include(GeneratedSources.cmake)
|
include(GeneratedSources.cmake)
|
||||||
|
|
||||||
set(JellyfinQt_SOURCES
|
set(JellyfinQt_SOURCES
|
||||||
|
src/model/controllablesession.cpp
|
||||||
src/model/deviceprofile.cpp
|
src/model/deviceprofile.cpp
|
||||||
src/model/item.cpp
|
src/model/item.cpp
|
||||||
|
src/model/player.cpp
|
||||||
|
src/model/playbackmanager.cpp
|
||||||
|
src/model/playbackreporter.cpp
|
||||||
src/model/playlist.cpp
|
src/model/playlist.cpp
|
||||||
|
src/model/remotejellyfinplayback.cpp
|
||||||
src/model/shuffle.cpp
|
src/model/shuffle.cpp
|
||||||
src/model/user.cpp
|
src/model/user.cpp
|
||||||
|
|
||||||
|
@ -29,6 +34,7 @@ set(JellyfinQt_SOURCES
|
||||||
src/viewmodel/modelstatus.cpp
|
src/viewmodel/modelstatus.cpp
|
||||||
src/viewmodel/playbackmanager.cpp
|
src/viewmodel/playbackmanager.cpp
|
||||||
src/viewmodel/playlist.cpp
|
src/viewmodel/playlist.cpp
|
||||||
|
src/viewmodel/remotedevice.cpp
|
||||||
src/viewmodel/settings.cpp
|
src/viewmodel/settings.cpp
|
||||||
src/viewmodel/userdata.cpp
|
src/viewmodel/userdata.cpp
|
||||||
src/viewmodel/usermodel.cpp
|
src/viewmodel/usermodel.cpp
|
||||||
|
@ -46,37 +52,44 @@ set(JellyfinQt_SOURCES
|
||||||
list(APPEND JellyfinQt_SOURCES ${openapi_SOURCES})
|
list(APPEND JellyfinQt_SOURCES ${openapi_SOURCES})
|
||||||
|
|
||||||
set(JellyfinQt_HEADERS
|
set(JellyfinQt_HEADERS
|
||||||
include/JellyfinQt/model/deviceprofile.h
|
include/JellyfinQt/model/controllablesession.h
|
||||||
include/JellyfinQt/model/item.h
|
include/JellyfinQt/model/deviceprofile.h
|
||||||
include/JellyfinQt/model/playlist.h
|
include/JellyfinQt/model/item.h
|
||||||
include/JellyfinQt/model/shuffle.h
|
include/JellyfinQt/model/player.h
|
||||||
include/JellyfinQt/model/user.h
|
include/JellyfinQt/model/playbackmanager.h
|
||||||
include/JellyfinQt/support/jsonconv.h
|
include/JellyfinQt/model/playbackreporter.h
|
||||||
include/JellyfinQt/support/jsonconvimpl.h
|
include/JellyfinQt/model/playlist.h
|
||||||
include/JellyfinQt/support/loader.h
|
include/JellyfinQt/model/remotejellyfinplayback.h
|
||||||
include/JellyfinQt/support/parseexception.h
|
include/JellyfinQt/model/shuffle.h
|
||||||
include/JellyfinQt/viewmodel/item.h
|
include/JellyfinQt/model/user.h
|
||||||
include/JellyfinQt/viewmodel/itemmodel.h
|
include/JellyfinQt/support/jsonconv.h
|
||||||
include/JellyfinQt/viewmodel/loader.h
|
include/JellyfinQt/support/jsonconvimpl.h
|
||||||
include/JellyfinQt/viewmodel/mediastream.h
|
include/JellyfinQt/support/loader.h
|
||||||
include/JellyfinQt/viewmodel/modelstatus.h
|
include/JellyfinQt/support/parseexception.h
|
||||||
include/JellyfinQt/viewmodel/propertyhelper.h
|
include/JellyfinQt/viewmodel/item.h
|
||||||
include/JellyfinQt/viewmodel/playbackmanager.h
|
include/JellyfinQt/viewmodel/itemmodel.h
|
||||||
include/JellyfinQt/viewmodel/platformmediacontrol.h
|
include/JellyfinQt/viewmodel/loader.h
|
||||||
include/JellyfinQt/viewmodel/playlist.h
|
include/JellyfinQt/viewmodel/mediastream.h
|
||||||
include/JellyfinQt/viewmodel/settings.h
|
include/JellyfinQt/viewmodel/modelstatus.h
|
||||||
include/JellyfinQt/viewmodel/userdata.h
|
include/JellyfinQt/viewmodel/propertyhelper.h
|
||||||
include/JellyfinQt/viewmodel/usermodel.h
|
include/JellyfinQt/viewmodel/playbackmanager.h
|
||||||
include/JellyfinQt/viewmodel/user.h
|
include/JellyfinQt/viewmodel/platformmediacontrol.h
|
||||||
include/JellyfinQt/apiclient.h
|
include/JellyfinQt/viewmodel/playlist.h
|
||||||
include/JellyfinQt/apimodel.h
|
include/JellyfinQt/viewmodel/remotedevice.h
|
||||||
include/JellyfinQt/credentialmanager.h
|
include/JellyfinQt/viewmodel/settings.h
|
||||||
include/JellyfinQt/eventbus.h
|
include/JellyfinQt/viewmodel/userdata.h
|
||||||
include/JellyfinQt/jellyfin.h
|
include/JellyfinQt/viewmodel/usermodel.h
|
||||||
include/JellyfinQt/jsonhelper.h
|
include/JellyfinQt/viewmodel/user.h
|
||||||
include/JellyfinQt/qobjectsettingswrapper.h
|
include/JellyfinQt/viewmodel/utils.h
|
||||||
include/JellyfinQt/serverdiscoverymodel.h
|
include/JellyfinQt/apiclient.h
|
||||||
include/JellyfinQt/websocket.h)
|
include/JellyfinQt/apimodel.h
|
||||||
|
include/JellyfinQt/credentialmanager.h
|
||||||
|
include/JellyfinQt/eventbus.h
|
||||||
|
include/JellyfinQt/jellyfin.h
|
||||||
|
include/JellyfinQt/jsonhelper.h
|
||||||
|
include/JellyfinQt/qobjectsettingswrapper.h
|
||||||
|
include/JellyfinQt/serverdiscoverymodel.h
|
||||||
|
include/JellyfinQt/websocket.h)
|
||||||
|
|
||||||
if (FREEDESKTOP_INTEGRATION)
|
if (FREEDESKTOP_INTEGRATION)
|
||||||
list(APPEND JellyfinQt_SOURCES
|
list(APPEND JellyfinQt_SOURCES
|
||||||
|
|
|
@ -7,8 +7,21 @@ class {{className}};
|
||||||
|
|
||||||
class {{className}} {
|
class {{className}} {
|
||||||
public:
|
public:
|
||||||
|
{{#if hasRequiredProperties}}
|
||||||
|
|
||||||
|
{{className}}(
|
||||||
|
{{#each properties as |p|}}
|
||||||
|
{{#if p.isNotNullable}}
|
||||||
|
|
||||||
|
{{p.typeNameWithQualifiers}} {{p.name}}{{#if p.isLastNonNullable}}{{else}},{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
{{else}}
|
||||||
{{className}}();
|
{{className}}();
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{className}}(const {{className}} &other);
|
{{className}}(const {{className}} &other);
|
||||||
|
|
||||||
|
@ -60,8 +73,18 @@ protected:
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
|
|
||||||
|
{{#if hasRequiredProperties}}
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing {{className}}::fromJson();
|
||||||
|
|
||||||
|
{{className}}();
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -1,5 +1,32 @@
|
||||||
{{className}}::{{className}}() {}
|
{{className}}::{{className}}() {}
|
||||||
|
|
||||||
|
{{#if hasRequiredProperties}}
|
||||||
|
{{className}}::{{className}} (
|
||||||
|
|
||||||
|
{{#each properties as |property|}}
|
||||||
|
{{#if property.isNotNullable}}
|
||||||
|
|
||||||
|
{{property.typeNameWithQualifiers}} {{property.name}}{{#if property.isLastNonNullable}} {{else}}, {{/if}}
|
||||||
|
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
) :
|
||||||
|
|
||||||
|
{{#each properties as |property|}}
|
||||||
|
{{#if property.isNotNullable}}
|
||||||
|
{{property.memberName}}({{property.name}})
|
||||||
|
{{#if property.isLastNonNullable}}
|
||||||
|
{ }
|
||||||
|
{{else}}
|
||||||
|
,
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{className}}::{{className}}(const {{className}} &other) :
|
{{className}}::{{className}}(const {{className}} &other) :
|
||||||
|
|
||||||
|
|
77
core/doc/contributing.md
Normal file
77
core/doc/contributing.md
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
\page contributing Contributing
|
||||||
|
\brief All resources for (potential) contributors
|
||||||
|
|
||||||
|
This page should contain all resources for people who'd like to contribute to the project.
|
||||||
|
If that happens to be you, thank you for considering to contribute to this project!
|
||||||
|
This page will describe how the process goes, what code style this project uses and more useful information.
|
||||||
|
|
||||||
|
# Development process
|
||||||
|
Development happens at [GitHub](https://github.com/heartfin/harbour-sailfin).
|
||||||
|
Currently, both the library Jellyfin-Qt and the [Sailfish OS](https://sailfishos.org) app named Sailfin are developed in the same repository.
|
||||||
|
|
||||||
|
## Create or find an issue to work on
|
||||||
|
If you want to contribute code, please check if an issue exists.
|
||||||
|
Otherwise, create an issue describing what feature you'd like to develop before creating a merge request.
|
||||||
|
|
||||||
|
## Start working on your code
|
||||||
|
Clone the git repo and create a new branch.
|
||||||
|
If you have commit access to the repository, please create a branch in the form of `<issue-number>-<issue-title>`.
|
||||||
|
For example, `36-control-remote-jellyfin-sessions`.
|
||||||
|
|
||||||
|
Now you can start writing your code and create commits.
|
||||||
|
Please create focussed commits, that is, do not commit anything not related to the issue you are working on.
|
||||||
|
Also state what you're changing in the commit message and add an entry in the file `rpm/harbour-sailfin.changes`.
|
||||||
|
|
||||||
|
If this is your first time contributing to the project, don't be shy and feel free to add your name to the contributors list in `sailfish/qml/pages/AboutPage.qml`!
|
||||||
|
|
||||||
|
## Submit a merge request
|
||||||
|
Now that you have finalised your commit, you can create a merge request on the repository.
|
||||||
|
Make sure that you have followed the contribution guidelines on this page.
|
||||||
|
Someone will review it and if all is good, they will merge it in.
|
||||||
|
|
||||||
|
Congratulations on your contribution!
|
||||||
|
|
||||||
|
# Code style guidelines
|
||||||
|
The code should follow the [Sailfish OS Code Conventions](https://docs.sailfishos.org/Develop/Apps/Coding_Conventions/) with the following exceptions:
|
||||||
|
|
||||||
|
## Exceptions for C++
|
||||||
|
- Put curly braces on the same line as the declaration, example:
|
||||||
|
```cpp
|
||||||
|
int foo() {
|
||||||
|
// implementation
|
||||||
|
}
|
||||||
|
```
|
||||||
|
instead of
|
||||||
|
```cpp
|
||||||
|
int foo()
|
||||||
|
{
|
||||||
|
// implementation
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Rationale: I hate pressing enter and am used to the former. Moreover, it is already all over the place. Bad rationale, I know.
|
||||||
|
|
||||||
|
- Close namespace brackets with a comment in the form `// NS Jellyfin`, example:
|
||||||
|
```cpp
|
||||||
|
namespace Jellyfin {
|
||||||
|
namespace Nested {
|
||||||
|
// Content
|
||||||
|
} // NS Nested
|
||||||
|
} // NS Jellyfin
|
||||||
|
```
|
||||||
|
Rationale: Easy to know what namespace the bracket closes, since namespaces tend to span over large portions of a file.
|
||||||
|
|
||||||
|
- Use include guards in the form of `NAMESPACE_CLASSNAME_H`. Example:
|
||||||
|
```cpp
|
||||||
|
#ifndef JELLYFIN_MODEL_USER_H
|
||||||
|
#define JELLYFIN_MODEL_USER_H
|
||||||
|
namespace Jellyfin {
|
||||||
|
namespace Model {
|
||||||
|
|
||||||
|
class User {
|
||||||
|
// Methods etc
|
||||||
|
};
|
||||||
|
|
||||||
|
} // NS Model
|
||||||
|
} // NS Jellyfin
|
||||||
|
```
|
||||||
|
|
15
core/doc/custom.css
Normal file
15
core/doc/custom.css
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
html {
|
||||||
|
--primary-color: #be48d6;
|
||||||
|
--primary-dark-color: #7a2e89;
|
||||||
|
--primary-light-color #e256ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
html:not(.light-mode) {
|
||||||
|
--primary-color: #be48d6;
|
||||||
|
--primary-dark-color: #7a2e89;
|
||||||
|
--primary-light-color #e256ff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
5
core/doc/guide/apimodel-loader.md
Normal file
5
core/doc/guide/apimodel-loader.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
\page guide-apimodel-loader ApiModel and Loaders
|
||||||
|
\brief This will give an overview of how the ApiModel and Loaders interact.
|
||||||
|
|
||||||
|
\todo
|
||||||
|
This guide should still be written
|
73
core/doc/guide/getting-started.md
Normal file
73
core/doc/guide/getting-started.md
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
\page guide-getting-started Getting Started
|
||||||
|
\brief Installation procedure and first application using this library
|
||||||
|
|
||||||
|
This is a tutorial on how to use Jellyfin Qt library.
|
||||||
|
|
||||||
|
## Project setup
|
||||||
|
|
||||||
|
The library works as [a QML plugin](https://doc.qt.io/archives/qt-5.6/qqmlextensionplugin.html).
|
||||||
|
Compile the library, install it in the QML plugin path and add a qmldir file like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
module nl.netsoj.chris.Jellyfin
|
||||||
|
plugin JellyfinQt
|
||||||
|
```
|
||||||
|
|
||||||
|
You should then be able to import it in your QML files.
|
||||||
|
|
||||||
|
|
||||||
|
```qml
|
||||||
|
import nl.netsoj.chris.Jellyfin
|
||||||
|
```
|
||||||
|
|
||||||
|
\note
|
||||||
|
In the documentation, the URI nl.netsoj.chris.Jellyfin will be used.
|
||||||
|
If you deviate from this, make sure to put the plugin in the correct location,
|
||||||
|
as well as using the correct import statements in QML.
|
||||||
|
|
||||||
|
## Hello Jellyfin!
|
||||||
|
|
||||||
|
The first step for interacting with the library is setting up an \ref Jellyfin::ApiClient.
|
||||||
|
This object handles authentication.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\warning
|
||||||
|
The way authentication works using ApiClient will change before the next major release to support multiple accounts! See \issue{4}
|
||||||
|
|
||||||
|
Lets create an instance of ApiClient that is reachable from everywhere, by putting it in the ApplicationWindow:
|
||||||
|
|
||||||
|
```qml
|
||||||
|
import nl.netsoj.chris.Jellyfin as JF
|
||||||
|
import QtQuick 2.0 as QQ
|
||||||
|
|
||||||
|
QQ.ApplicationWindow {
|
||||||
|
readonly property JF.ApiClient apiClient: _apiClient
|
||||||
|
|
||||||
|
JF.ApiClient {
|
||||||
|
id: _apiClient
|
||||||
|
appName: "The name of your client"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
\note
|
||||||
|
As an alternative, you could create a QML file only containing the ApiClient and [declaring it as a Singleton](https://doc.qt.io/archives/qt-5.6/qtqml-modules-qmldir.html#contents-of-a-module-definition-qmldir-file)
|
||||||
|
|
||||||
|
## Authentication
|
||||||
|
If the user already has logged in and the credentials are stored, this is quite easy:
|
||||||
|
the \ref Jellyfin::ApiClient::authenticated "authenticated" property will change to true and the corresponding signal will fire.
|
||||||
|
You don't have to do anything else!
|
||||||
|
|
||||||
|
When the user never has logged in, the signal \ref Jellyfin::ApiClient::setupRequired "setupRequired()" will be fired.
|
||||||
|
When this happens, you should let the user enter a server URL and set it as the \ref Jellyfin::ApiClient::baseUrl "baseUrl" property.
|
||||||
|
You can get a list model of servers in the local network using the \ref Jellyfin::ServerDiscoveryModel.
|
||||||
|
|
||||||
|
After the \ref Jellyfin::ApiClient::baseUrl "baseUrl" property has been set, the slot \ref Jellyfin::ApiClient::authenticate "authenticate" should be called with an username and password.
|
||||||
|
When authentication was successful, the property \ref Jellyfin::ApiClient::authenticated "authenticated" will be changed to true.
|
||||||
|
Otherwise, the signal \ref Jellyfin::ApiClient::authenticationError "authenticationError" will be fired.
|
||||||
|
|
||||||
|
\note
|
||||||
|
To show a list of available users, one can use the \ref Jellyfin::ViewModel::UserModel "UserModel" and \ref Jellyfin::ViewModel::PublicUsersLoader "PublicUsersLoader".
|
||||||
|
However, this requires knowledge of the Loader and Model system, which will be explained in the next chapter \ref guide-apimodel-loader
|
||||||
|
|
10
core/doc/guides.md
Normal file
10
core/doc/guides.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
\page guides Usage guides
|
||||||
|
|
||||||
|
\brief All guides intended for developers working with this library.
|
||||||
|
|
||||||
|
All guides assume familiarity with QML. If you aren't, [the free online QML book](https://www.qt.io/product/qt6/qml-book) is a great place to start.
|
||||||
|
Note that this book is written for Qt 6 QML, while this project is using Qt 5 QML.
|
||||||
|
The differences between those versions are not large, so it still is a valuable resource.
|
||||||
|
|
||||||
|
* \subpage guide-getting-started
|
||||||
|
* \subpage guide-apimodel-loader
|
11
core/doc/mainpage.md
Normal file
11
core/doc/mainpage.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
\mainpage
|
||||||
|
|
||||||
|
\note
|
||||||
|
This page is aimed at developers. If you are interested in using a Jellyfin application, please visit the [main website](https://heartfin.github.io/).
|
||||||
|
|
||||||
|
This is the documentation page for the Jellyfin Qt library, a library for the [Qt framework](https://qt.io/) for interacting with the [Jellyfin media server](https://jellyfin.org).
|
||||||
|
This project is not affiliated with the Jellyfin project.
|
||||||
|
|
||||||
|
If you are planning on using this projects, see \ref guides for usage instructions and the reference documentation in the sidebar.
|
||||||
|
|
||||||
|
If you'd like to contribute code, see \ref contributing for the process and style guidelines.
|
4
core/doc/namespace/dto.dox
Normal file
4
core/doc/namespace/dto.dox
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
/**
|
||||||
|
* \namespace Jellyfin::DTO
|
||||||
|
* \brief Contains auto-generated Data Transfer Objects for the Jellyfin HTTP API
|
||||||
|
*/
|
4
core/doc/namespace/viewmodel.dox
Normal file
4
core/doc/namespace/viewmodel.dox
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
/**
|
||||||
|
* \namespace Jellyfin::ViewModel
|
||||||
|
* \brief Contains all types exposed to QML
|
||||||
|
*/
|
|
@ -41,6 +41,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
#include "dto/generalcommandtype.h"
|
#include "dto/generalcommandtype.h"
|
||||||
#include "credentialmanager.h"
|
#include "credentialmanager.h"
|
||||||
|
#include "model/controllablesession.h"
|
||||||
#include "model/deviceprofile.h"
|
#include "model/deviceprofile.h"
|
||||||
#include "eventbus.h"
|
#include "eventbus.h"
|
||||||
|
|
||||||
|
@ -96,6 +97,8 @@ public:
|
||||||
explicit ApiClient(QObject *parent = nullptr);
|
explicit ApiClient(QObject *parent = nullptr);
|
||||||
virtual ~ApiClient();
|
virtual ~ApiClient();
|
||||||
Q_PROPERTY(QString baseUrl READ baseUrl WRITE setBaseUrl NOTIFY baseUrlChanged)
|
Q_PROPERTY(QString baseUrl READ baseUrl WRITE setBaseUrl NOTIFY baseUrlChanged)
|
||||||
|
Q_PROPERTY(QString appName READ appName WRITE setAppName NOTIFY appNameChanged)
|
||||||
|
Q_PROPERTY(Jellyfin::Model::DeviceTypeClass::Value deviceType READ deviceType WRITE setDeviceType NOTIFY deviceTypeChanged)
|
||||||
Q_PROPERTY(bool authenticated READ authenticated WRITE setAuthenticated NOTIFY authenticatedChanged)
|
Q_PROPERTY(bool authenticated READ authenticated WRITE setAuthenticated NOTIFY authenticatedChanged)
|
||||||
Q_PROPERTY(QString userId READ userId NOTIFY userIdChanged)
|
Q_PROPERTY(QString userId READ userId NOTIFY userIdChanged)
|
||||||
Q_PROPERTY(QJsonObject deviceProfile READ deviceProfileJson NOTIFY deviceProfileChanged)
|
Q_PROPERTY(QJsonObject deviceProfile READ deviceProfileJson NOTIFY deviceProfileChanged)
|
||||||
|
@ -114,6 +117,9 @@ public:
|
||||||
|
|
||||||
bool authenticated() const;
|
bool authenticated() const;
|
||||||
void setBaseUrl(const QString &url);
|
void setBaseUrl(const QString &url);
|
||||||
|
void setAppName(const QString &appName);
|
||||||
|
void setDeviceType(Model::DeviceType deviceType);
|
||||||
|
|
||||||
QNetworkReply *get(const QString &path, const QUrlQuery ¶ms = QUrlQuery());
|
QNetworkReply *get(const QString &path, const QUrlQuery ¶ms = QUrlQuery());
|
||||||
QNetworkReply *post(const QString &path, const QJsonDocument &data, const QUrlQuery ¶ms = QUrlQuery());
|
QNetworkReply *post(const QString &path, const QJsonDocument &data, const QUrlQuery ¶ms = QUrlQuery());
|
||||||
QNetworkReply *post(const QString &path, const QByteArray &data = QByteArray(), const QUrlQuery ¶ms = QUrlQuery());
|
QNetworkReply *post(const QString &path, const QByteArray &data = QByteArray(), const QUrlQuery ¶ms = QUrlQuery());
|
||||||
|
@ -127,8 +133,10 @@ public:
|
||||||
Q_ENUM(ApiError)
|
Q_ENUM(ApiError)
|
||||||
|
|
||||||
const QString &baseUrl() const;
|
const QString &baseUrl() const;
|
||||||
|
const QString &appName() const;
|
||||||
const QString &userId() const;
|
const QString &userId() const;
|
||||||
const QString &deviceId() const;
|
const QString &deviceId() const;
|
||||||
|
Model::DeviceType deviceType() const;
|
||||||
/**
|
/**
|
||||||
* @brief QML applications can set this type to indicate which commands they support.
|
* @brief QML applications can set this type to indicate which commands they support.
|
||||||
*
|
*
|
||||||
|
@ -185,6 +193,7 @@ signals:
|
||||||
|
|
||||||
void authenticatedChanged(bool authenticated);
|
void authenticatedChanged(bool authenticated);
|
||||||
void baseUrlChanged(const QString &baseUrl);
|
void baseUrlChanged(const QString &baseUrl);
|
||||||
|
void appNameChanged(const QString &newAppName);
|
||||||
void settingsChanged();
|
void settingsChanged();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -196,9 +205,18 @@ signals:
|
||||||
void userIdChanged(QString userId);
|
void userIdChanged(QString userId);
|
||||||
|
|
||||||
void deviceProfileChanged();
|
void deviceProfileChanged();
|
||||||
|
void deviceTypeChanged();
|
||||||
|
|
||||||
void supportedCommandsChanged();
|
void supportedCommandsChanged();
|
||||||
void onlineChanged();
|
void onlineChanged();
|
||||||
|
/**
|
||||||
|
* @brief Emitted after submitQuickConnectCode succeeded
|
||||||
|
*/
|
||||||
|
void quickConnectAccepted();
|
||||||
|
/**
|
||||||
|
* @brief Emitted after submitQuickConnectCode failed
|
||||||
|
*/
|
||||||
|
void quickConnectRejected();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief onUserDataChanged Emitted when the user data of an item is changed on the server.
|
* @brief onUserDataChanged Emitted when the user data of an item is changed on the server.
|
||||||
|
@ -223,6 +241,7 @@ public slots:
|
||||||
*/
|
*/
|
||||||
void setupConnection();
|
void setupConnection();
|
||||||
void authenticate(QString username, QString password, bool storeCredentials = false);
|
void authenticate(QString username, QString password, bool storeCredentials = false);
|
||||||
|
void submitQuickConnectCode(const QString &code);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Logs the user out and clears the session.
|
* @brief Logs the user out and clears the session.
|
||||||
|
|
|
@ -239,17 +239,33 @@ bool setRequestStartIndex(P ¶meters, int startIndex) {
|
||||||
#ifndef JELLYFIN_APIMODEL_CPP
|
#ifndef JELLYFIN_APIMODEL_CPP
|
||||||
extern template bool setRequestStartIndex(Loader::GetUserViewsParams ¶ms, int startIndex);
|
extern template bool setRequestStartIndex(Loader::GetUserViewsParams ¶ms, int startIndex);
|
||||||
extern template void setRequestLimit(Loader::GetUserViewsParams ¶ms, int limit);
|
extern template void setRequestLimit(Loader::GetUserViewsParams ¶ms, int limit);
|
||||||
|
|
||||||
extern template QList<DTO::BaseItemDto> extractRecords(const DTO::BaseItemDtoQueryResult &result);
|
extern template QList<DTO::BaseItemDto> extractRecords(const DTO::BaseItemDtoQueryResult &result);
|
||||||
extern template int extractTotalRecordCount(const DTO::BaseItemDtoQueryResult &result);
|
extern template int extractTotalRecordCount(const DTO::BaseItemDtoQueryResult &result);
|
||||||
extern template QList<DTO::BaseItemDto> extractRecords(const QList<DTO::BaseItemDto> &result);
|
extern template QList<DTO::BaseItemDto> extractRecords(const QList<DTO::BaseItemDto> &result);
|
||||||
extern template int extractTotalRecordCount(const QList<DTO::BaseItemDto> &result);
|
extern template int extractTotalRecordCount(const QList<DTO::BaseItemDto> &result);
|
||||||
|
|
||||||
extern template void setRequestLimit(Loader::GetLatestMediaParams ¶ms, int limit);
|
extern template void setRequestLimit(Loader::GetLatestMediaParams ¶ms, int limit);
|
||||||
extern template bool setRequestStartIndex(Loader::GetLatestMediaParams ¶ms, int offset);
|
extern template bool setRequestStartIndex(Loader::GetLatestMediaParams ¶ms, int offset);
|
||||||
|
|
||||||
extern template void setRequestLimit(Loader::GetItemsByUserIdParams ¶ms, int limit);
|
extern template void setRequestLimit(Loader::GetItemsByUserIdParams ¶ms, int limit);
|
||||||
extern template bool setRequestStartIndex(Loader::GetItemsByUserIdParams ¶ms, int offset);
|
extern template bool setRequestStartIndex(Loader::GetItemsByUserIdParams ¶ms, int offset);
|
||||||
|
|
||||||
extern template void setRequestLimit(Loader::GetResumeItemsParams ¶ms, int limit);
|
extern template void setRequestLimit(Loader::GetResumeItemsParams ¶ms, int limit);
|
||||||
extern template bool setRequestStartIndex(Loader::GetResumeItemsParams ¶ms, int offset);
|
extern template bool setRequestStartIndex(Loader::GetResumeItemsParams ¶ms, int offset);
|
||||||
|
|
||||||
|
extern template void setRequestLimit(Loader::GetPublicUsersParams ¶ms, int limit);
|
||||||
|
extern template bool setRequestStartIndex(Loader::GetPublicUsersParams ¶ms, int offset);
|
||||||
|
|
||||||
|
extern template void setRequestLimit(Loader::GetNextUpParams ¶ms, int limit);
|
||||||
|
extern template bool setRequestStartIndex(Loader::GetNextUpParams ¶ms, int offset);
|
||||||
|
|
||||||
|
extern template void setRequestLimit(Loader::GetAlbumArtistsParams ¶ms, int limit);
|
||||||
|
extern template bool setRequestStartIndex(Loader::GetAlbumArtistsParams ¶ms, int offset);
|
||||||
|
|
||||||
|
extern template void setRequestLimit(Loader::GetLiveTvChannelsParams ¶ms, int limit);
|
||||||
|
extern template bool setRequestStartIndex(Loader::GetLiveTvChannelsParams ¶ms, int offset);
|
||||||
|
|
||||||
extern template QList<DTO::UserDto> extractRecords(const QList<DTO::UserDto> &result);
|
extern template QList<DTO::UserDto> extractRecords(const QList<DTO::UserDto> &result);
|
||||||
extern template int extractTotalRecordCount(const QList<DTO::UserDto> &result);
|
extern template int extractTotalRecordCount(const QList<DTO::UserDto> &result);
|
||||||
#endif
|
#endif
|
||||||
|
@ -483,6 +499,10 @@ public:
|
||||||
this->endResetModel();
|
this->endResetModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QList<QSharedPointer<T>> &toList() {
|
||||||
|
return m_array;
|
||||||
|
}
|
||||||
|
|
||||||
// From AbstractListModel, gets implemented in ApiModel<T>
|
// From AbstractListModel, gets implemented in ApiModel<T>
|
||||||
//virtual QHash<int, QByteArray> roleNames() const override = 0;
|
//virtual QHash<int, QByteArray> roleNames() const override = 0;
|
||||||
/*virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override = 0;*/
|
/*virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override = 0;*/
|
||||||
|
@ -509,6 +529,7 @@ public:
|
||||||
BaseApiModel::setLoader(newLoader);
|
BaseApiModel::setLoader(newLoader);
|
||||||
BaseApiModel::disconnectOldLoader(m_loader);
|
BaseApiModel::disconnectOldLoader(m_loader);
|
||||||
m_loader = castedLoader;
|
m_loader = castedLoader;
|
||||||
|
reload();
|
||||||
} else {
|
} else {
|
||||||
qWarning() << "Somehow set a BaseModelLoader on ApiModel instead of a ModelLoader<T>";
|
qWarning() << "Somehow set a BaseModelLoader on ApiModel instead of a ModelLoader<T>";
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,14 @@ namespace DTO {
|
||||||
|
|
||||||
class AccessSchedule {
|
class AccessSchedule {
|
||||||
public:
|
public:
|
||||||
AccessSchedule();
|
AccessSchedule(
|
||||||
|
qint32 jellyfinId,
|
||||||
|
QString userId,
|
||||||
|
DynamicDayOfWeek dayOfWeek,
|
||||||
|
double startHour,
|
||||||
|
double endHour
|
||||||
|
);
|
||||||
|
|
||||||
AccessSchedule(const AccessSchedule &other);
|
AccessSchedule(const AccessSchedule &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -109,8 +116,13 @@ protected:
|
||||||
DynamicDayOfWeek m_dayOfWeek;
|
DynamicDayOfWeek m_dayOfWeek;
|
||||||
double m_startHour;
|
double m_startHour;
|
||||||
double m_endHour;
|
double m_endHour;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing AccessSchedule::fromJson();
|
||||||
|
AccessSchedule();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,13 @@ namespace DTO {
|
||||||
|
|
||||||
class ActivityLogEntry {
|
class ActivityLogEntry {
|
||||||
public:
|
public:
|
||||||
ActivityLogEntry();
|
ActivityLogEntry(
|
||||||
|
qint64 jellyfinId,
|
||||||
|
QDateTime date,
|
||||||
|
QString userId,
|
||||||
|
LogLevel severity
|
||||||
|
);
|
||||||
|
|
||||||
ActivityLogEntry(const ActivityLogEntry &other);
|
ActivityLogEntry(const ActivityLogEntry &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -172,8 +178,13 @@ protected:
|
||||||
QString m_userId;
|
QString m_userId;
|
||||||
QString m_userPrimaryImageTag;
|
QString m_userPrimaryImageTag;
|
||||||
LogLevel m_severity;
|
LogLevel m_severity;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ActivityLogEntry::fromJson();
|
||||||
|
ActivityLogEntry();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,11 @@ namespace DTO {
|
||||||
|
|
||||||
class ActivityLogEntryQueryResult {
|
class ActivityLogEntryQueryResult {
|
||||||
public:
|
public:
|
||||||
ActivityLogEntryQueryResult();
|
ActivityLogEntryQueryResult(
|
||||||
|
qint32 totalRecordCount,
|
||||||
|
qint32 startIndex
|
||||||
|
);
|
||||||
|
|
||||||
ActivityLogEntryQueryResult(const ActivityLogEntryQueryResult &other);
|
ActivityLogEntryQueryResult(const ActivityLogEntryQueryResult &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -96,8 +100,13 @@ protected:
|
||||||
QList<ActivityLogEntry> m_items;
|
QList<ActivityLogEntry> m_items;
|
||||||
qint32 m_totalRecordCount;
|
qint32 m_totalRecordCount;
|
||||||
qint32 m_startIndex;
|
qint32 m_startIndex;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ActivityLogEntryQueryResult::fromJson();
|
||||||
|
ActivityLogEntryQueryResult();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,10 @@ namespace DTO {
|
||||||
|
|
||||||
class AddVirtualFolderDto {
|
class AddVirtualFolderDto {
|
||||||
public:
|
public:
|
||||||
AddVirtualFolderDto();
|
AddVirtualFolderDto(
|
||||||
|
QSharedPointer<LibraryOptions> libraryOptions
|
||||||
|
);
|
||||||
|
|
||||||
AddVirtualFolderDto(const AddVirtualFolderDto &other);
|
AddVirtualFolderDto(const AddVirtualFolderDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -69,8 +72,13 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QSharedPointer<LibraryOptions> m_libraryOptions = QSharedPointer<LibraryOptions>();
|
QSharedPointer<LibraryOptions> m_libraryOptions = QSharedPointer<LibraryOptions>();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing AddVirtualFolderDto::fromJson();
|
||||||
|
AddVirtualFolderDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -51,7 +51,10 @@ namespace DTO {
|
||||||
|
|
||||||
class AlbumInfo {
|
class AlbumInfo {
|
||||||
public:
|
public:
|
||||||
AlbumInfo();
|
AlbumInfo(
|
||||||
|
bool isAutomated
|
||||||
|
);
|
||||||
|
|
||||||
AlbumInfo(const AlbumInfo &other);
|
AlbumInfo(const AlbumInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -200,8 +203,13 @@ protected:
|
||||||
QStringList m_albumArtists;
|
QStringList m_albumArtists;
|
||||||
QJsonObject m_artistProviderIds;
|
QJsonObject m_artistProviderIds;
|
||||||
QList<SongInfo> m_songInfos;
|
QList<SongInfo> m_songInfos;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing AlbumInfo::fromJson();
|
||||||
|
AlbumInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,12 @@ namespace DTO {
|
||||||
|
|
||||||
class AlbumInfoRemoteSearchQuery {
|
class AlbumInfoRemoteSearchQuery {
|
||||||
public:
|
public:
|
||||||
AlbumInfoRemoteSearchQuery();
|
AlbumInfoRemoteSearchQuery(
|
||||||
|
QSharedPointer<AlbumInfo> searchInfo,
|
||||||
|
QString itemId,
|
||||||
|
bool includeDisabledProviders
|
||||||
|
);
|
||||||
|
|
||||||
AlbumInfoRemoteSearchQuery(const AlbumInfoRemoteSearchQuery &other);
|
AlbumInfoRemoteSearchQuery(const AlbumInfoRemoteSearchQuery &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -98,8 +103,13 @@ protected:
|
||||||
QString m_itemId;
|
QString m_itemId;
|
||||||
QString m_searchProviderName;
|
QString m_searchProviderName;
|
||||||
bool m_includeDisabledProviders;
|
bool m_includeDisabledProviders;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing AlbumInfoRemoteSearchQuery::fromJson();
|
||||||
|
AlbumInfoRemoteSearchQuery();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,12 @@ namespace DTO {
|
||||||
|
|
||||||
class AllThemeMediaResult {
|
class AllThemeMediaResult {
|
||||||
public:
|
public:
|
||||||
AllThemeMediaResult();
|
AllThemeMediaResult(
|
||||||
|
QSharedPointer<ThemeMediaResult> themeVideosResult,
|
||||||
|
QSharedPointer<ThemeMediaResult> themeSongsResult,
|
||||||
|
QSharedPointer<ThemeMediaResult> soundtrackSongsResult
|
||||||
|
);
|
||||||
|
|
||||||
AllThemeMediaResult(const AllThemeMediaResult &other);
|
AllThemeMediaResult(const AllThemeMediaResult &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -81,8 +86,13 @@ protected:
|
||||||
QSharedPointer<ThemeMediaResult> m_themeVideosResult = QSharedPointer<ThemeMediaResult>();
|
QSharedPointer<ThemeMediaResult> m_themeVideosResult = QSharedPointer<ThemeMediaResult>();
|
||||||
QSharedPointer<ThemeMediaResult> m_themeSongsResult = QSharedPointer<ThemeMediaResult>();
|
QSharedPointer<ThemeMediaResult> m_themeSongsResult = QSharedPointer<ThemeMediaResult>();
|
||||||
QSharedPointer<ThemeMediaResult> m_soundtrackSongsResult = QSharedPointer<ThemeMediaResult>();
|
QSharedPointer<ThemeMediaResult> m_soundtrackSongsResult = QSharedPointer<ThemeMediaResult>();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing AllThemeMediaResult::fromJson();
|
||||||
|
AllThemeMediaResult();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -51,7 +51,10 @@ namespace DTO {
|
||||||
|
|
||||||
class ArtistInfo {
|
class ArtistInfo {
|
||||||
public:
|
public:
|
||||||
ArtistInfo();
|
ArtistInfo(
|
||||||
|
bool isAutomated
|
||||||
|
);
|
||||||
|
|
||||||
ArtistInfo(const ArtistInfo &other);
|
ArtistInfo(const ArtistInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -176,8 +179,13 @@ protected:
|
||||||
QDateTime m_premiereDate;
|
QDateTime m_premiereDate;
|
||||||
bool m_isAutomated;
|
bool m_isAutomated;
|
||||||
QList<SongInfo> m_songInfos;
|
QList<SongInfo> m_songInfos;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ArtistInfo::fromJson();
|
||||||
|
ArtistInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,12 @@ namespace DTO {
|
||||||
|
|
||||||
class ArtistInfoRemoteSearchQuery {
|
class ArtistInfoRemoteSearchQuery {
|
||||||
public:
|
public:
|
||||||
ArtistInfoRemoteSearchQuery();
|
ArtistInfoRemoteSearchQuery(
|
||||||
|
QSharedPointer<ArtistInfo> searchInfo,
|
||||||
|
QString itemId,
|
||||||
|
bool includeDisabledProviders
|
||||||
|
);
|
||||||
|
|
||||||
ArtistInfoRemoteSearchQuery(const ArtistInfoRemoteSearchQuery &other);
|
ArtistInfoRemoteSearchQuery(const ArtistInfoRemoteSearchQuery &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -98,8 +103,13 @@ protected:
|
||||||
QString m_itemId;
|
QString m_itemId;
|
||||||
QString m_searchProviderName;
|
QString m_searchProviderName;
|
||||||
bool m_includeDisabledProviders;
|
bool m_includeDisabledProviders;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ArtistInfoRemoteSearchQuery::fromJson();
|
||||||
|
ArtistInfoRemoteSearchQuery();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,8 +46,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class AuthenticateUserByName {
|
class AuthenticateUserByName {
|
||||||
public:
|
public: AuthenticateUserByName();
|
||||||
AuthenticateUserByName();
|
|
||||||
AuthenticateUserByName(const AuthenticateUserByName &other);
|
AuthenticateUserByName(const AuthenticateUserByName &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -98,8 +97,11 @@ protected:
|
||||||
QString m_username;
|
QString m_username;
|
||||||
QString m_pw;
|
QString m_pw;
|
||||||
QString m_password;
|
QString m_password;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,14 @@ namespace DTO {
|
||||||
|
|
||||||
class AuthenticationInfo {
|
class AuthenticationInfo {
|
||||||
public:
|
public:
|
||||||
AuthenticationInfo();
|
AuthenticationInfo(
|
||||||
|
qint64 jellyfinId,
|
||||||
|
QString userId,
|
||||||
|
bool isActive,
|
||||||
|
QDateTime dateCreated,
|
||||||
|
QDateTime dateLastActivity
|
||||||
|
);
|
||||||
|
|
||||||
AuthenticationInfo(const AuthenticationInfo &other);
|
AuthenticationInfo(const AuthenticationInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -189,8 +196,13 @@ protected:
|
||||||
QDateTime m_dateRevoked;
|
QDateTime m_dateRevoked;
|
||||||
QDateTime m_dateLastActivity;
|
QDateTime m_dateLastActivity;
|
||||||
QString m_userName;
|
QString m_userName;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing AuthenticationInfo::fromJson();
|
||||||
|
AuthenticationInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,11 @@ namespace DTO {
|
||||||
|
|
||||||
class AuthenticationInfoQueryResult {
|
class AuthenticationInfoQueryResult {
|
||||||
public:
|
public:
|
||||||
AuthenticationInfoQueryResult();
|
AuthenticationInfoQueryResult(
|
||||||
|
qint32 totalRecordCount,
|
||||||
|
qint32 startIndex
|
||||||
|
);
|
||||||
|
|
||||||
AuthenticationInfoQueryResult(const AuthenticationInfoQueryResult &other);
|
AuthenticationInfoQueryResult(const AuthenticationInfoQueryResult &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -96,8 +100,13 @@ protected:
|
||||||
QList<AuthenticationInfo> m_items;
|
QList<AuthenticationInfo> m_items;
|
||||||
qint32 m_totalRecordCount;
|
qint32 m_totalRecordCount;
|
||||||
qint32 m_startIndex;
|
qint32 m_startIndex;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing AuthenticationInfoQueryResult::fromJson();
|
||||||
|
AuthenticationInfoQueryResult();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -50,7 +50,11 @@ namespace DTO {
|
||||||
|
|
||||||
class AuthenticationResult {
|
class AuthenticationResult {
|
||||||
public:
|
public:
|
||||||
AuthenticationResult();
|
AuthenticationResult(
|
||||||
|
QSharedPointer<UserDto> user,
|
||||||
|
QSharedPointer<SessionInfo> sessionInfo
|
||||||
|
);
|
||||||
|
|
||||||
AuthenticationResult(const AuthenticationResult &other);
|
AuthenticationResult(const AuthenticationResult &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -93,8 +97,13 @@ protected:
|
||||||
QSharedPointer<SessionInfo> m_sessionInfo = QSharedPointer<SessionInfo>();
|
QSharedPointer<SessionInfo> m_sessionInfo = QSharedPointer<SessionInfo>();
|
||||||
QString m_accessToken;
|
QString m_accessToken;
|
||||||
QString m_serverId;
|
QString m_serverId;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing AuthenticationResult::fromJson();
|
||||||
|
AuthenticationResult();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -51,7 +51,15 @@ namespace DTO {
|
||||||
|
|
||||||
class BaseItem {
|
class BaseItem {
|
||||||
public:
|
public:
|
||||||
BaseItem();
|
BaseItem(
|
||||||
|
QDateTime dateLastSaved,
|
||||||
|
bool isHD,
|
||||||
|
bool isShortcut,
|
||||||
|
qint32 width,
|
||||||
|
qint32 height,
|
||||||
|
bool supportsExternalTransfer
|
||||||
|
);
|
||||||
|
|
||||||
BaseItem(const BaseItem &other);
|
BaseItem(const BaseItem &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -146,8 +154,13 @@ protected:
|
||||||
qint32 m_height;
|
qint32 m_height;
|
||||||
QStringList m_extraIds;
|
QStringList m_extraIds;
|
||||||
bool m_supportsExternalTransfer;
|
bool m_supportsExternalTransfer;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing BaseItem::fromJson();
|
||||||
|
BaseItem();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -69,7 +69,20 @@ namespace DTO {
|
||||||
|
|
||||||
class BaseItemDto {
|
class BaseItemDto {
|
||||||
public:
|
public:
|
||||||
BaseItemDto();
|
BaseItemDto(
|
||||||
|
QString jellyfinId,
|
||||||
|
Video3DFormat video3DFormat,
|
||||||
|
PlayAccess playAccess,
|
||||||
|
QSharedPointer<UserItemDataDto> userData,
|
||||||
|
VideoType videoType,
|
||||||
|
LocationType locationType,
|
||||||
|
IsoType isoType,
|
||||||
|
ImageOrientation imageOrientation,
|
||||||
|
ChannelType channelType,
|
||||||
|
ProgramAudio audio,
|
||||||
|
QSharedPointer<BaseItemDto> currentProgram
|
||||||
|
);
|
||||||
|
|
||||||
BaseItemDto(const BaseItemDto &other);
|
BaseItemDto(const BaseItemDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1700,8 +1713,13 @@ protected:
|
||||||
std::optional<bool> m_isPremiere = std::nullopt;
|
std::optional<bool> m_isPremiere = std::nullopt;
|
||||||
QString m_timerId;
|
QString m_timerId;
|
||||||
QSharedPointer<BaseItemDto> m_currentProgram = QSharedPointer<BaseItemDto>();
|
QSharedPointer<BaseItemDto> m_currentProgram = QSharedPointer<BaseItemDto>();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing BaseItemDto::fromJson();
|
||||||
|
BaseItemDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,11 @@ namespace DTO {
|
||||||
|
|
||||||
class BaseItemDtoQueryResult {
|
class BaseItemDtoQueryResult {
|
||||||
public:
|
public:
|
||||||
BaseItemDtoQueryResult();
|
BaseItemDtoQueryResult(
|
||||||
|
qint32 totalRecordCount,
|
||||||
|
qint32 startIndex
|
||||||
|
);
|
||||||
|
|
||||||
BaseItemDtoQueryResult(const BaseItemDtoQueryResult &other);
|
BaseItemDtoQueryResult(const BaseItemDtoQueryResult &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -96,8 +100,13 @@ protected:
|
||||||
QList<BaseItemDto> m_items;
|
QList<BaseItemDto> m_items;
|
||||||
qint32 m_totalRecordCount;
|
qint32 m_totalRecordCount;
|
||||||
qint32 m_startIndex;
|
qint32 m_startIndex;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing BaseItemDtoQueryResult::fromJson();
|
||||||
|
BaseItemDtoQueryResult();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,8 +46,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class BaseItemPerson {
|
class BaseItemPerson {
|
||||||
public:
|
public: BaseItemPerson();
|
||||||
BaseItemPerson();
|
|
||||||
BaseItemPerson(const BaseItemPerson &other);
|
BaseItemPerson(const BaseItemPerson &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -134,8 +133,11 @@ protected:
|
||||||
QString m_type;
|
QString m_type;
|
||||||
QString m_primaryImageTag;
|
QString m_primaryImageTag;
|
||||||
QJsonObject m_imageBlurHashes;
|
QJsonObject m_imageBlurHashes;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,10 @@ namespace DTO {
|
||||||
|
|
||||||
class BookInfo {
|
class BookInfo {
|
||||||
public:
|
public:
|
||||||
BookInfo();
|
BookInfo(
|
||||||
|
bool isAutomated
|
||||||
|
);
|
||||||
|
|
||||||
BookInfo(const BookInfo &other);
|
BookInfo(const BookInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -173,8 +176,13 @@ protected:
|
||||||
QDateTime m_premiereDate;
|
QDateTime m_premiereDate;
|
||||||
bool m_isAutomated;
|
bool m_isAutomated;
|
||||||
QString m_seriesName;
|
QString m_seriesName;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing BookInfo::fromJson();
|
||||||
|
BookInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,12 @@ namespace DTO {
|
||||||
|
|
||||||
class BookInfoRemoteSearchQuery {
|
class BookInfoRemoteSearchQuery {
|
||||||
public:
|
public:
|
||||||
BookInfoRemoteSearchQuery();
|
BookInfoRemoteSearchQuery(
|
||||||
|
QSharedPointer<BookInfo> searchInfo,
|
||||||
|
QString itemId,
|
||||||
|
bool includeDisabledProviders
|
||||||
|
);
|
||||||
|
|
||||||
BookInfoRemoteSearchQuery(const BookInfoRemoteSearchQuery &other);
|
BookInfoRemoteSearchQuery(const BookInfoRemoteSearchQuery &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -98,8 +103,13 @@ protected:
|
||||||
QString m_itemId;
|
QString m_itemId;
|
||||||
QString m_searchProviderName;
|
QString m_searchProviderName;
|
||||||
bool m_includeDisabledProviders;
|
bool m_includeDisabledProviders;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing BookInfoRemoteSearchQuery::fromJson();
|
||||||
|
BookInfoRemoteSearchQuery();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,10 @@ namespace DTO {
|
||||||
|
|
||||||
class BoxSetInfo {
|
class BoxSetInfo {
|
||||||
public:
|
public:
|
||||||
BoxSetInfo();
|
BoxSetInfo(
|
||||||
|
bool isAutomated
|
||||||
|
);
|
||||||
|
|
||||||
BoxSetInfo(const BoxSetInfo &other);
|
BoxSetInfo(const BoxSetInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -165,8 +168,13 @@ protected:
|
||||||
std::optional<qint32> m_parentIndexNumber = std::nullopt;
|
std::optional<qint32> m_parentIndexNumber = std::nullopt;
|
||||||
QDateTime m_premiereDate;
|
QDateTime m_premiereDate;
|
||||||
bool m_isAutomated;
|
bool m_isAutomated;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing BoxSetInfo::fromJson();
|
||||||
|
BoxSetInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,12 @@ namespace DTO {
|
||||||
|
|
||||||
class BoxSetInfoRemoteSearchQuery {
|
class BoxSetInfoRemoteSearchQuery {
|
||||||
public:
|
public:
|
||||||
BoxSetInfoRemoteSearchQuery();
|
BoxSetInfoRemoteSearchQuery(
|
||||||
|
QSharedPointer<BoxSetInfo> searchInfo,
|
||||||
|
QString itemId,
|
||||||
|
bool includeDisabledProviders
|
||||||
|
);
|
||||||
|
|
||||||
BoxSetInfoRemoteSearchQuery(const BoxSetInfoRemoteSearchQuery &other);
|
BoxSetInfoRemoteSearchQuery(const BoxSetInfoRemoteSearchQuery &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -98,8 +103,13 @@ protected:
|
||||||
QString m_itemId;
|
QString m_itemId;
|
||||||
QString m_searchProviderName;
|
QString m_searchProviderName;
|
||||||
bool m_includeDisabledProviders;
|
bool m_includeDisabledProviders;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing BoxSetInfoRemoteSearchQuery::fromJson();
|
||||||
|
BoxSetInfoRemoteSearchQuery();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,8 +46,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class BrandingOptions {
|
class BrandingOptions {
|
||||||
public:
|
public: BrandingOptions();
|
||||||
BrandingOptions();
|
|
||||||
BrandingOptions(const BrandingOptions &other);
|
BrandingOptions(const BrandingOptions &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -86,8 +85,11 @@ public:
|
||||||
protected:
|
protected:
|
||||||
QString m_loginDisclaimer;
|
QString m_loginDisclaimer;
|
||||||
QString m_customCss;
|
QString m_customCss;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,13 @@ namespace DTO {
|
||||||
|
|
||||||
class BufferRequestDto {
|
class BufferRequestDto {
|
||||||
public:
|
public:
|
||||||
BufferRequestDto();
|
BufferRequestDto(
|
||||||
|
QDateTime when,
|
||||||
|
qint64 positionTicks,
|
||||||
|
bool isPlaying,
|
||||||
|
QString playlistItemId
|
||||||
|
);
|
||||||
|
|
||||||
BufferRequestDto(const BufferRequestDto &other);
|
BufferRequestDto(const BufferRequestDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -103,8 +109,13 @@ protected:
|
||||||
qint64 m_positionTicks;
|
qint64 m_positionTicks;
|
||||||
bool m_isPlaying;
|
bool m_isPlaying;
|
||||||
QString m_playlistItemId;
|
QString m_playlistItemId;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing BufferRequestDto::fromJson();
|
||||||
|
BufferRequestDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -52,7 +52,14 @@ namespace DTO {
|
||||||
|
|
||||||
class ChannelFeatures {
|
class ChannelFeatures {
|
||||||
public:
|
public:
|
||||||
ChannelFeatures();
|
ChannelFeatures(
|
||||||
|
bool canSearch,
|
||||||
|
bool supportsSortOrderToggle,
|
||||||
|
bool supportsLatestMedia,
|
||||||
|
bool canFilter,
|
||||||
|
bool supportsContentDownloading
|
||||||
|
);
|
||||||
|
|
||||||
ChannelFeatures(const ChannelFeatures &other);
|
ChannelFeatures(const ChannelFeatures &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -201,8 +208,13 @@ protected:
|
||||||
bool m_supportsLatestMedia;
|
bool m_supportsLatestMedia;
|
||||||
bool m_canFilter;
|
bool m_canFilter;
|
||||||
bool m_supportsContentDownloading;
|
bool m_supportsContentDownloading;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ChannelFeatures::fromJson();
|
||||||
|
ChannelFeatures();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -51,8 +51,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class ChannelMappingOptionsDto {
|
class ChannelMappingOptionsDto {
|
||||||
public:
|
public: ChannelMappingOptionsDto();
|
||||||
ChannelMappingOptionsDto();
|
|
||||||
ChannelMappingOptionsDto(const ChannelMappingOptionsDto &other);
|
ChannelMappingOptionsDto(const ChannelMappingOptionsDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -115,8 +114,11 @@ protected:
|
||||||
QList<NameIdPair> m_providerChannels;
|
QList<NameIdPair> m_providerChannels;
|
||||||
QList<NameValuePair> m_mappings;
|
QList<NameValuePair> m_mappings;
|
||||||
QString m_providerName;
|
QString m_providerName;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,11 @@ namespace DTO {
|
||||||
|
|
||||||
class ChapterInfo {
|
class ChapterInfo {
|
||||||
public:
|
public:
|
||||||
ChapterInfo();
|
ChapterInfo(
|
||||||
|
qint64 startPositionTicks,
|
||||||
|
QDateTime imageDateModified
|
||||||
|
);
|
||||||
|
|
||||||
ChapterInfo(const ChapterInfo &other);
|
ChapterInfo(const ChapterInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -111,8 +115,13 @@ protected:
|
||||||
QString m_imagePath;
|
QString m_imagePath;
|
||||||
QDateTime m_imageDateModified;
|
QDateTime m_imageDateModified;
|
||||||
QString m_imageTag;
|
QString m_imageTag;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ChapterInfo::fromJson();
|
||||||
|
ChapterInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -52,7 +52,14 @@ namespace DTO {
|
||||||
|
|
||||||
class ClientCapabilities {
|
class ClientCapabilities {
|
||||||
public:
|
public:
|
||||||
ClientCapabilities();
|
ClientCapabilities(
|
||||||
|
bool supportsMediaControl,
|
||||||
|
bool supportsContentUploading,
|
||||||
|
bool supportsPersistentIdentifier,
|
||||||
|
bool supportsSync,
|
||||||
|
QSharedPointer<DeviceProfile> deviceProfile
|
||||||
|
);
|
||||||
|
|
||||||
ClientCapabilities(const ClientCapabilities &other);
|
ClientCapabilities(const ClientCapabilities &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -137,8 +144,13 @@ protected:
|
||||||
QSharedPointer<DeviceProfile> m_deviceProfile = QSharedPointer<DeviceProfile>();
|
QSharedPointer<DeviceProfile> m_deviceProfile = QSharedPointer<DeviceProfile>();
|
||||||
QString m_appStoreUrl;
|
QString m_appStoreUrl;
|
||||||
QString m_iconUrl;
|
QString m_iconUrl;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ClientCapabilities::fromJson();
|
||||||
|
ClientCapabilities();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -52,7 +52,14 @@ namespace DTO {
|
||||||
|
|
||||||
class ClientCapabilitiesDto {
|
class ClientCapabilitiesDto {
|
||||||
public:
|
public:
|
||||||
ClientCapabilitiesDto();
|
ClientCapabilitiesDto(
|
||||||
|
bool supportsMediaControl,
|
||||||
|
bool supportsContentUploading,
|
||||||
|
bool supportsPersistentIdentifier,
|
||||||
|
bool supportsSync,
|
||||||
|
QSharedPointer<DeviceProfile> deviceProfile
|
||||||
|
);
|
||||||
|
|
||||||
ClientCapabilitiesDto(const ClientCapabilitiesDto &other);
|
ClientCapabilitiesDto(const ClientCapabilitiesDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -173,8 +180,13 @@ protected:
|
||||||
QSharedPointer<DeviceProfile> m_deviceProfile = QSharedPointer<DeviceProfile>();
|
QSharedPointer<DeviceProfile> m_deviceProfile = QSharedPointer<DeviceProfile>();
|
||||||
QString m_appStoreUrl;
|
QString m_appStoreUrl;
|
||||||
QString m_iconUrl;
|
QString m_iconUrl;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ClientCapabilitiesDto::fromJson();
|
||||||
|
ClientCapabilitiesDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -51,7 +51,10 @@ namespace DTO {
|
||||||
|
|
||||||
class CodecProfile {
|
class CodecProfile {
|
||||||
public:
|
public:
|
||||||
CodecProfile();
|
CodecProfile(
|
||||||
|
CodecType type
|
||||||
|
);
|
||||||
|
|
||||||
CodecProfile(const CodecProfile &other);
|
CodecProfile(const CodecProfile &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -104,8 +107,13 @@ protected:
|
||||||
QList<ProfileCondition> m_applyConditions;
|
QList<ProfileCondition> m_applyConditions;
|
||||||
QString m_codec;
|
QString m_codec;
|
||||||
QString m_container;
|
QString m_container;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing CodecProfile::fromJson();
|
||||||
|
CodecProfile();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -47,7 +47,10 @@ namespace DTO {
|
||||||
|
|
||||||
class CollectionCreationResult {
|
class CollectionCreationResult {
|
||||||
public:
|
public:
|
||||||
CollectionCreationResult();
|
CollectionCreationResult(
|
||||||
|
QString jellyfinId
|
||||||
|
);
|
||||||
|
|
||||||
CollectionCreationResult(const CollectionCreationResult &other);
|
CollectionCreationResult(const CollectionCreationResult &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -68,8 +71,13 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString m_jellyfinId;
|
QString m_jellyfinId;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing CollectionCreationResult::fromJson();
|
||||||
|
CollectionCreationResult();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,11 @@ namespace DTO {
|
||||||
|
|
||||||
class ConfigurationPageInfo {
|
class ConfigurationPageInfo {
|
||||||
public:
|
public:
|
||||||
ConfigurationPageInfo();
|
ConfigurationPageInfo(
|
||||||
|
bool enableInMainMenu,
|
||||||
|
ConfigurationPageType configurationPageType
|
||||||
|
);
|
||||||
|
|
||||||
ConfigurationPageInfo(const ConfigurationPageInfo &other);
|
ConfigurationPageInfo(const ConfigurationPageInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -139,8 +143,13 @@ protected:
|
||||||
QString m_displayName;
|
QString m_displayName;
|
||||||
ConfigurationPageType m_configurationPageType;
|
ConfigurationPageType m_configurationPageType;
|
||||||
QString m_pluginId;
|
QString m_pluginId;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ConfigurationPageInfo::fromJson();
|
||||||
|
ConfigurationPageInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -51,7 +51,10 @@ namespace DTO {
|
||||||
|
|
||||||
class ContainerProfile {
|
class ContainerProfile {
|
||||||
public:
|
public:
|
||||||
ContainerProfile();
|
ContainerProfile(
|
||||||
|
DlnaProfileType type
|
||||||
|
);
|
||||||
|
|
||||||
ContainerProfile(const ContainerProfile &other);
|
ContainerProfile(const ContainerProfile &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -88,8 +91,13 @@ protected:
|
||||||
DlnaProfileType m_type;
|
DlnaProfileType m_type;
|
||||||
QList<ProfileCondition> m_conditions;
|
QList<ProfileCondition> m_conditions;
|
||||||
QString m_container;
|
QString m_container;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ContainerProfile::fromJson();
|
||||||
|
ContainerProfile();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -47,7 +47,10 @@ namespace DTO {
|
||||||
|
|
||||||
class ControlResponse {
|
class ControlResponse {
|
||||||
public:
|
public:
|
||||||
ControlResponse();
|
ControlResponse(
|
||||||
|
bool isSuccessful
|
||||||
|
);
|
||||||
|
|
||||||
ControlResponse(const ControlResponse &other);
|
ControlResponse(const ControlResponse &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -84,8 +87,13 @@ protected:
|
||||||
QJsonObject m_headers;
|
QJsonObject m_headers;
|
||||||
QString m_xml;
|
QString m_xml;
|
||||||
bool m_isSuccessful;
|
bool m_isSuccessful;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ControlResponse::fromJson();
|
||||||
|
ControlResponse();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,8 +46,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class CountryInfo {
|
class CountryInfo {
|
||||||
public:
|
public: CountryInfo();
|
||||||
CountryInfo();
|
|
||||||
CountryInfo(const CountryInfo &other);
|
CountryInfo(const CountryInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -110,8 +109,11 @@ protected:
|
||||||
QString m_displayName;
|
QString m_displayName;
|
||||||
QString m_twoLetterISORegionName;
|
QString m_twoLetterISORegionName;
|
||||||
QString m_threeLetterISORegionName;
|
QString m_threeLetterISORegionName;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,8 +48,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class CreatePlaylistDto {
|
class CreatePlaylistDto {
|
||||||
public:
|
public: CreatePlaylistDto();
|
||||||
CreatePlaylistDto();
|
|
||||||
CreatePlaylistDto(const CreatePlaylistDto &other);
|
CreatePlaylistDto(const CreatePlaylistDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -112,8 +111,11 @@ protected:
|
||||||
QStringList m_ids;
|
QStringList m_ids;
|
||||||
QString m_userId;
|
QString m_userId;
|
||||||
QString m_mediaType;
|
QString m_mediaType;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,8 +46,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class CreateUserByName {
|
class CreateUserByName {
|
||||||
public:
|
public: CreateUserByName();
|
||||||
CreateUserByName();
|
|
||||||
CreateUserByName(const CreateUserByName &other);
|
CreateUserByName(const CreateUserByName &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -86,8 +85,11 @@ public:
|
||||||
protected:
|
protected:
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QString m_password;
|
QString m_password;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,8 +48,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class CultureDto {
|
class CultureDto {
|
||||||
public:
|
public: CultureDto();
|
||||||
CultureDto();
|
|
||||||
CultureDto(const CultureDto &other);
|
CultureDto(const CultureDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -120,8 +119,11 @@ protected:
|
||||||
QString m_twoLetterISOLanguageName;
|
QString m_twoLetterISOLanguageName;
|
||||||
QString m_threeLetterISOLanguageName;
|
QString m_threeLetterISOLanguageName;
|
||||||
QStringList m_threeLetterISOLanguageNames;
|
QStringList m_threeLetterISOLanguageNames;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,8 +46,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class DefaultDirectoryBrowserInfoDto {
|
class DefaultDirectoryBrowserInfoDto {
|
||||||
public:
|
public: DefaultDirectoryBrowserInfoDto();
|
||||||
DefaultDirectoryBrowserInfoDto();
|
|
||||||
DefaultDirectoryBrowserInfoDto(const DefaultDirectoryBrowserInfoDto &other);
|
DefaultDirectoryBrowserInfoDto(const DefaultDirectoryBrowserInfoDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -74,8 +73,11 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString m_path;
|
QString m_path;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,8 +49,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class DeviceIdentification {
|
class DeviceIdentification {
|
||||||
public:
|
public: DeviceIdentification();
|
||||||
DeviceIdentification();
|
|
||||||
DeviceIdentification(const DeviceIdentification &other);
|
DeviceIdentification(const DeviceIdentification &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -173,8 +172,11 @@ protected:
|
||||||
QString m_manufacturer;
|
QString m_manufacturer;
|
||||||
QString m_manufacturerUrl;
|
QString m_manufacturerUrl;
|
||||||
QList<HttpHeaderInfo> m_headers;
|
QList<HttpHeaderInfo> m_headers;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -50,7 +50,12 @@ namespace DTO {
|
||||||
|
|
||||||
class DeviceInfo {
|
class DeviceInfo {
|
||||||
public:
|
public:
|
||||||
DeviceInfo();
|
DeviceInfo(
|
||||||
|
QString lastUserId,
|
||||||
|
QDateTime dateLastActivity,
|
||||||
|
QSharedPointer<ClientCapabilities> capabilities
|
||||||
|
);
|
||||||
|
|
||||||
DeviceInfo(const DeviceInfo &other);
|
DeviceInfo(const DeviceInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -155,8 +160,13 @@ protected:
|
||||||
QDateTime m_dateLastActivity;
|
QDateTime m_dateLastActivity;
|
||||||
QSharedPointer<ClientCapabilities> m_capabilities = QSharedPointer<ClientCapabilities>();
|
QSharedPointer<ClientCapabilities> m_capabilities = QSharedPointer<ClientCapabilities>();
|
||||||
QString m_iconUrl;
|
QString m_iconUrl;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing DeviceInfo::fromJson();
|
||||||
|
DeviceInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,11 @@ namespace DTO {
|
||||||
|
|
||||||
class DeviceInfoQueryResult {
|
class DeviceInfoQueryResult {
|
||||||
public:
|
public:
|
||||||
DeviceInfoQueryResult();
|
DeviceInfoQueryResult(
|
||||||
|
qint32 totalRecordCount,
|
||||||
|
qint32 startIndex
|
||||||
|
);
|
||||||
|
|
||||||
DeviceInfoQueryResult(const DeviceInfoQueryResult &other);
|
DeviceInfoQueryResult(const DeviceInfoQueryResult &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -96,8 +100,13 @@ protected:
|
||||||
QList<DeviceInfo> m_items;
|
QList<DeviceInfo> m_items;
|
||||||
qint32 m_totalRecordCount;
|
qint32 m_totalRecordCount;
|
||||||
qint32 m_startIndex;
|
qint32 m_startIndex;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing DeviceInfoQueryResult::fromJson();
|
||||||
|
DeviceInfoQueryResult();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,8 +46,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class DeviceOptions {
|
class DeviceOptions {
|
||||||
public:
|
public: DeviceOptions();
|
||||||
DeviceOptions();
|
|
||||||
DeviceOptions(const DeviceOptions &other);
|
DeviceOptions(const DeviceOptions &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -70,8 +69,11 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString m_customName;
|
QString m_customName;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -58,7 +58,20 @@ namespace DTO {
|
||||||
|
|
||||||
class DeviceProfile {
|
class DeviceProfile {
|
||||||
public:
|
public:
|
||||||
DeviceProfile();
|
DeviceProfile(
|
||||||
|
QSharedPointer<DeviceIdentification> identification,
|
||||||
|
bool enableAlbumArtInDidl,
|
||||||
|
bool enableSingleAlbumArtLimit,
|
||||||
|
bool enableSingleSubtitleLimit,
|
||||||
|
qint32 maxAlbumArtWidth,
|
||||||
|
qint32 maxAlbumArtHeight,
|
||||||
|
qint32 timelineOffsetSeconds,
|
||||||
|
bool requiresPlainVideoItems,
|
||||||
|
bool requiresPlainFolders,
|
||||||
|
bool enableMSMediaReceiverRegistrar,
|
||||||
|
bool ignoreTranscodeByteRangeRequests
|
||||||
|
);
|
||||||
|
|
||||||
DeviceProfile(const DeviceProfile &other);
|
DeviceProfile(const DeviceProfile &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -515,8 +528,13 @@ protected:
|
||||||
QList<CodecProfile> m_codecProfiles;
|
QList<CodecProfile> m_codecProfiles;
|
||||||
QList<ResponseProfile> m_responseProfiles;
|
QList<ResponseProfile> m_responseProfiles;
|
||||||
QList<SubtitleProfile> m_subtitleProfiles;
|
QList<SubtitleProfile> m_subtitleProfiles;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing DeviceProfile::fromJson();
|
||||||
|
DeviceProfile();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,10 @@ namespace DTO {
|
||||||
|
|
||||||
class DeviceProfileInfo {
|
class DeviceProfileInfo {
|
||||||
public:
|
public:
|
||||||
DeviceProfileInfo();
|
DeviceProfileInfo(
|
||||||
|
DeviceProfileType type
|
||||||
|
);
|
||||||
|
|
||||||
DeviceProfileInfo(const DeviceProfileInfo &other);
|
DeviceProfileInfo(const DeviceProfileInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -93,8 +96,13 @@ protected:
|
||||||
QString m_jellyfinId;
|
QString m_jellyfinId;
|
||||||
QString m_name;
|
QString m_name;
|
||||||
DeviceProfileType m_type;
|
DeviceProfileType m_type;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing DeviceProfileInfo::fromJson();
|
||||||
|
DeviceProfileInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,10 @@ namespace DTO {
|
||||||
|
|
||||||
class DirectPlayProfile {
|
class DirectPlayProfile {
|
||||||
public:
|
public:
|
||||||
DirectPlayProfile();
|
DirectPlayProfile(
|
||||||
|
DlnaProfileType type
|
||||||
|
);
|
||||||
|
|
||||||
DirectPlayProfile(const DirectPlayProfile &other);
|
DirectPlayProfile(const DirectPlayProfile &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -93,8 +96,13 @@ protected:
|
||||||
QString m_audioCodec;
|
QString m_audioCodec;
|
||||||
QString m_videoCodec;
|
QString m_videoCodec;
|
||||||
DlnaProfileType m_type;
|
DlnaProfileType m_type;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing DirectPlayProfile::fromJson();
|
||||||
|
DirectPlayProfile();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,17 @@ namespace DTO {
|
||||||
|
|
||||||
class DisplayPreferencesDto {
|
class DisplayPreferencesDto {
|
||||||
public:
|
public:
|
||||||
DisplayPreferencesDto();
|
DisplayPreferencesDto(
|
||||||
|
bool rememberIndexing,
|
||||||
|
qint32 primaryImageHeight,
|
||||||
|
qint32 primaryImageWidth,
|
||||||
|
ScrollDirection scrollDirection,
|
||||||
|
bool showBackdrop,
|
||||||
|
bool rememberSorting,
|
||||||
|
SortOrder sortOrder,
|
||||||
|
bool showSidebar
|
||||||
|
);
|
||||||
|
|
||||||
DisplayPreferencesDto(const DisplayPreferencesDto &other);
|
DisplayPreferencesDto(const DisplayPreferencesDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -208,8 +218,13 @@ protected:
|
||||||
SortOrder m_sortOrder;
|
SortOrder m_sortOrder;
|
||||||
bool m_showSidebar;
|
bool m_showSidebar;
|
||||||
QString m_client;
|
QString m_client;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing DisplayPreferencesDto::fromJson();
|
||||||
|
DisplayPreferencesDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,7 +46,11 @@ namespace DTO {
|
||||||
|
|
||||||
class EndPointInfo {
|
class EndPointInfo {
|
||||||
public:
|
public:
|
||||||
EndPointInfo();
|
EndPointInfo(
|
||||||
|
bool isLocal,
|
||||||
|
bool isInNetwork
|
||||||
|
);
|
||||||
|
|
||||||
EndPointInfo(const EndPointInfo &other);
|
EndPointInfo(const EndPointInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -73,8 +77,13 @@ public:
|
||||||
protected:
|
protected:
|
||||||
bool m_isLocal;
|
bool m_isLocal;
|
||||||
bool m_isInNetwork;
|
bool m_isInNetwork;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing EndPointInfo::fromJson();
|
||||||
|
EndPointInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,10 @@ namespace DTO {
|
||||||
|
|
||||||
class ExternalIdInfo {
|
class ExternalIdInfo {
|
||||||
public:
|
public:
|
||||||
ExternalIdInfo();
|
ExternalIdInfo(
|
||||||
|
ExternalIdMediaType type
|
||||||
|
);
|
||||||
|
|
||||||
ExternalIdInfo(const ExternalIdInfo &other);
|
ExternalIdInfo(const ExternalIdInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -105,8 +108,13 @@ protected:
|
||||||
QString m_key;
|
QString m_key;
|
||||||
ExternalIdMediaType m_type;
|
ExternalIdMediaType m_type;
|
||||||
QString m_urlFormatString;
|
QString m_urlFormatString;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ExternalIdInfo::fromJson();
|
||||||
|
ExternalIdInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,8 +46,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class ExternalUrl {
|
class ExternalUrl {
|
||||||
public:
|
public: ExternalUrl();
|
||||||
ExternalUrl();
|
|
||||||
ExternalUrl(const ExternalUrl &other);
|
ExternalUrl(const ExternalUrl &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -86,8 +85,11 @@ public:
|
||||||
protected:
|
protected:
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QString m_url;
|
QString m_url;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,10 @@ namespace DTO {
|
||||||
|
|
||||||
class FileSystemEntryInfo {
|
class FileSystemEntryInfo {
|
||||||
public:
|
public:
|
||||||
FileSystemEntryInfo();
|
FileSystemEntryInfo(
|
||||||
|
FileSystemEntryType type
|
||||||
|
);
|
||||||
|
|
||||||
FileSystemEntryInfo(const FileSystemEntryInfo &other);
|
FileSystemEntryInfo(const FileSystemEntryInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -93,8 +96,13 @@ protected:
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QString m_path;
|
QString m_path;
|
||||||
FileSystemEntryType m_type;
|
FileSystemEntryType m_type;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing FileSystemEntryInfo::fromJson();
|
||||||
|
FileSystemEntryInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,12 @@ namespace DTO {
|
||||||
|
|
||||||
class FontFile {
|
class FontFile {
|
||||||
public:
|
public:
|
||||||
FontFile();
|
FontFile(
|
||||||
|
qint64 size,
|
||||||
|
QDateTime dateCreated,
|
||||||
|
QDateTime dateModified
|
||||||
|
);
|
||||||
|
|
||||||
FontFile(const FontFile &other);
|
FontFile(const FontFile &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -105,8 +110,13 @@ protected:
|
||||||
qint64 m_size;
|
qint64 m_size;
|
||||||
QDateTime m_dateCreated;
|
QDateTime m_dateCreated;
|
||||||
QDateTime m_dateModified;
|
QDateTime m_dateModified;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing FontFile::fromJson();
|
||||||
|
FontFile();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -47,7 +47,10 @@ namespace DTO {
|
||||||
|
|
||||||
class ForgotPasswordDto {
|
class ForgotPasswordDto {
|
||||||
public:
|
public:
|
||||||
ForgotPasswordDto();
|
ForgotPasswordDto(
|
||||||
|
QString enteredUsername
|
||||||
|
);
|
||||||
|
|
||||||
ForgotPasswordDto(const ForgotPasswordDto &other);
|
ForgotPasswordDto(const ForgotPasswordDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -72,8 +75,13 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString m_enteredUsername;
|
QString m_enteredUsername;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ForgotPasswordDto::fromJson();
|
||||||
|
ForgotPasswordDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,10 @@ namespace DTO {
|
||||||
|
|
||||||
class ForgotPasswordResult {
|
class ForgotPasswordResult {
|
||||||
public:
|
public:
|
||||||
ForgotPasswordResult();
|
ForgotPasswordResult(
|
||||||
|
ForgotPasswordAction action
|
||||||
|
);
|
||||||
|
|
||||||
ForgotPasswordResult(const ForgotPasswordResult &other);
|
ForgotPasswordResult(const ForgotPasswordResult &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -94,8 +97,13 @@ protected:
|
||||||
ForgotPasswordAction m_action;
|
ForgotPasswordAction m_action;
|
||||||
QString m_pinFile;
|
QString m_pinFile;
|
||||||
QDateTime m_pinExpirationDate;
|
QDateTime m_pinExpirationDate;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ForgotPasswordResult::fromJson();
|
||||||
|
ForgotPasswordResult();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,11 @@ namespace DTO {
|
||||||
|
|
||||||
class GeneralCommand {
|
class GeneralCommand {
|
||||||
public:
|
public:
|
||||||
GeneralCommand();
|
GeneralCommand(
|
||||||
|
GeneralCommandType name,
|
||||||
|
QString controllingUserId
|
||||||
|
);
|
||||||
|
|
||||||
GeneralCommand(const GeneralCommand &other);
|
GeneralCommand(const GeneralCommand &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -83,8 +87,13 @@ protected:
|
||||||
GeneralCommandType m_name;
|
GeneralCommandType m_name;
|
||||||
QString m_controllingUserId;
|
QString m_controllingUserId;
|
||||||
QJsonObject m_arguments;
|
QJsonObject m_arguments;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing GeneralCommand::fromJson();
|
||||||
|
GeneralCommand();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -52,7 +52,12 @@ namespace DTO {
|
||||||
|
|
||||||
class GetProgramsDto {
|
class GetProgramsDto {
|
||||||
public:
|
public:
|
||||||
GetProgramsDto();
|
GetProgramsDto(
|
||||||
|
QString userId,
|
||||||
|
bool enableTotalRecordCount,
|
||||||
|
QString librarySeriesId
|
||||||
|
);
|
||||||
|
|
||||||
GetProgramsDto(const GetProgramsDto &other);
|
GetProgramsDto(const GetProgramsDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -427,8 +432,13 @@ protected:
|
||||||
QString m_seriesTimerId;
|
QString m_seriesTimerId;
|
||||||
QString m_librarySeriesId;
|
QString m_librarySeriesId;
|
||||||
QList<ItemFields> m_fields;
|
QList<ItemFields> m_fields;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing GetProgramsDto::fromJson();
|
||||||
|
GetProgramsDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -51,7 +51,12 @@ namespace DTO {
|
||||||
|
|
||||||
class GroupInfoDto {
|
class GroupInfoDto {
|
||||||
public:
|
public:
|
||||||
GroupInfoDto();
|
GroupInfoDto(
|
||||||
|
QString groupId,
|
||||||
|
GroupStateType state,
|
||||||
|
QDateTime lastUpdatedAt
|
||||||
|
);
|
||||||
|
|
||||||
GroupInfoDto(const GroupInfoDto &other);
|
GroupInfoDto(const GroupInfoDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -116,8 +121,13 @@ protected:
|
||||||
GroupStateType m_state;
|
GroupStateType m_state;
|
||||||
QStringList m_participants;
|
QStringList m_participants;
|
||||||
QDateTime m_lastUpdatedAt;
|
QDateTime m_lastUpdatedAt;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing GroupInfoDto::fromJson();
|
||||||
|
GroupInfoDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -47,7 +47,11 @@ namespace DTO {
|
||||||
|
|
||||||
class GuideInfo {
|
class GuideInfo {
|
||||||
public:
|
public:
|
||||||
GuideInfo();
|
GuideInfo(
|
||||||
|
QDateTime startDate,
|
||||||
|
QDateTime endDate
|
||||||
|
);
|
||||||
|
|
||||||
GuideInfo(const GuideInfo &other);
|
GuideInfo(const GuideInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -82,8 +86,13 @@ public:
|
||||||
protected:
|
protected:
|
||||||
QDateTime m_startDate;
|
QDateTime m_startDate;
|
||||||
QDateTime m_endDate;
|
QDateTime m_endDate;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing GuideInfo::fromJson();
|
||||||
|
GuideInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,10 @@ namespace DTO {
|
||||||
|
|
||||||
class HttpHeaderInfo {
|
class HttpHeaderInfo {
|
||||||
public:
|
public:
|
||||||
HttpHeaderInfo();
|
HttpHeaderInfo(
|
||||||
|
HeaderMatchType match
|
||||||
|
);
|
||||||
|
|
||||||
HttpHeaderInfo(const HttpHeaderInfo &other);
|
HttpHeaderInfo(const HttpHeaderInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,8 +88,13 @@ protected:
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QString m_value;
|
QString m_value;
|
||||||
HeaderMatchType m_match;
|
HeaderMatchType m_match;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing HttpHeaderInfo::fromJson();
|
||||||
|
HttpHeaderInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,7 +46,10 @@ namespace DTO {
|
||||||
|
|
||||||
class IgnoreWaitRequestDto {
|
class IgnoreWaitRequestDto {
|
||||||
public:
|
public:
|
||||||
IgnoreWaitRequestDto();
|
IgnoreWaitRequestDto(
|
||||||
|
bool ignoreWait
|
||||||
|
);
|
||||||
|
|
||||||
IgnoreWaitRequestDto(const IgnoreWaitRequestDto &other);
|
IgnoreWaitRequestDto(const IgnoreWaitRequestDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -71,8 +74,13 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool m_ignoreWait;
|
bool m_ignoreWait;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing IgnoreWaitRequestDto::fromJson();
|
||||||
|
IgnoreWaitRequestDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -47,7 +47,10 @@ namespace DTO {
|
||||||
|
|
||||||
class ImageByNameInfo {
|
class ImageByNameInfo {
|
||||||
public:
|
public:
|
||||||
ImageByNameInfo();
|
ImageByNameInfo(
|
||||||
|
qint64 fileLength
|
||||||
|
);
|
||||||
|
|
||||||
ImageByNameInfo(const ImageByNameInfo &other);
|
ImageByNameInfo(const ImageByNameInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -120,8 +123,13 @@ protected:
|
||||||
QString m_context;
|
QString m_context;
|
||||||
qint64 m_fileLength;
|
qint64 m_fileLength;
|
||||||
QString m_format;
|
QString m_format;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ImageByNameInfo::fromJson();
|
||||||
|
ImageByNameInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,11 @@ namespace DTO {
|
||||||
|
|
||||||
class ImageInfo {
|
class ImageInfo {
|
||||||
public:
|
public:
|
||||||
ImageInfo();
|
ImageInfo(
|
||||||
|
ImageType imageType,
|
||||||
|
qint64 size
|
||||||
|
);
|
||||||
|
|
||||||
ImageInfo(const ImageInfo &other);
|
ImageInfo(const ImageInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -151,8 +155,13 @@ protected:
|
||||||
std::optional<qint32> m_height = std::nullopt;
|
std::optional<qint32> m_height = std::nullopt;
|
||||||
std::optional<qint32> m_width = std::nullopt;
|
std::optional<qint32> m_width = std::nullopt;
|
||||||
qint64 m_size;
|
qint64 m_size;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ImageInfo::fromJson();
|
||||||
|
ImageInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -47,7 +47,12 @@ namespace DTO {
|
||||||
|
|
||||||
class ImageOption {
|
class ImageOption {
|
||||||
public:
|
public:
|
||||||
ImageOption();
|
ImageOption(
|
||||||
|
ImageType type,
|
||||||
|
qint32 limit,
|
||||||
|
qint32 minWidth
|
||||||
|
);
|
||||||
|
|
||||||
ImageOption(const ImageOption &other);
|
ImageOption(const ImageOption &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -88,8 +93,13 @@ protected:
|
||||||
ImageType m_type;
|
ImageType m_type;
|
||||||
qint32 m_limit;
|
qint32 m_limit;
|
||||||
qint32 m_minWidth;
|
qint32 m_minWidth;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ImageOption::fromJson();
|
||||||
|
ImageOption();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,8 +49,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class ImageProviderInfo {
|
class ImageProviderInfo {
|
||||||
public:
|
public: ImageProviderInfo();
|
||||||
ImageProviderInfo();
|
|
||||||
ImageProviderInfo(const ImageProviderInfo &other);
|
ImageProviderInfo(const ImageProviderInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -89,8 +88,11 @@ public:
|
||||||
protected:
|
protected:
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QList<ImageType> m_supportedImages;
|
QList<ImageType> m_supportedImages;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,11 @@ namespace DTO {
|
||||||
|
|
||||||
class InstallationInfo {
|
class InstallationInfo {
|
||||||
public:
|
public:
|
||||||
InstallationInfo();
|
InstallationInfo(
|
||||||
|
QString guid,
|
||||||
|
QSharedPointer<Version> version
|
||||||
|
);
|
||||||
|
|
||||||
InstallationInfo(const InstallationInfo &other);
|
InstallationInfo(const InstallationInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -128,8 +132,13 @@ protected:
|
||||||
QString m_changelog;
|
QString m_changelog;
|
||||||
QString m_sourceUrl;
|
QString m_sourceUrl;
|
||||||
QString m_checksum;
|
QString m_checksum;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing InstallationInfo::fromJson();
|
||||||
|
InstallationInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,12 @@ namespace DTO {
|
||||||
|
|
||||||
class IPlugin {
|
class IPlugin {
|
||||||
public:
|
public:
|
||||||
IPlugin();
|
IPlugin(
|
||||||
|
QString jellyfinId,
|
||||||
|
QSharedPointer<Version> version,
|
||||||
|
bool canUninstall
|
||||||
|
);
|
||||||
|
|
||||||
IPlugin(const IPlugin &other);
|
IPlugin(const IPlugin &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -138,8 +143,13 @@ protected:
|
||||||
QString m_assemblyFilePath;
|
QString m_assemblyFilePath;
|
||||||
bool m_canUninstall;
|
bool m_canUninstall;
|
||||||
QString m_dataFolderPath;
|
QString m_dataFolderPath;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing IPlugin::fromJson();
|
||||||
|
IPlugin();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,7 +46,21 @@ namespace DTO {
|
||||||
|
|
||||||
class ItemCounts {
|
class ItemCounts {
|
||||||
public:
|
public:
|
||||||
ItemCounts();
|
ItemCounts(
|
||||||
|
qint32 movieCount,
|
||||||
|
qint32 seriesCount,
|
||||||
|
qint32 episodeCount,
|
||||||
|
qint32 artistCount,
|
||||||
|
qint32 programCount,
|
||||||
|
qint32 trailerCount,
|
||||||
|
qint32 songCount,
|
||||||
|
qint32 albumCount,
|
||||||
|
qint32 musicVideoCount,
|
||||||
|
qint32 boxSetCount,
|
||||||
|
qint32 bookCount,
|
||||||
|
qint32 itemCount
|
||||||
|
);
|
||||||
|
|
||||||
ItemCounts(const ItemCounts &other);
|
ItemCounts(const ItemCounts &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -181,8 +195,13 @@ protected:
|
||||||
qint32 m_boxSetCount;
|
qint32 m_boxSetCount;
|
||||||
qint32 m_bookCount;
|
qint32 m_bookCount;
|
||||||
qint32 m_itemCount;
|
qint32 m_itemCount;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ItemCounts::fromJson();
|
||||||
|
ItemCounts();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -47,7 +47,10 @@ namespace DTO {
|
||||||
|
|
||||||
class JoinGroupRequestDto {
|
class JoinGroupRequestDto {
|
||||||
public:
|
public:
|
||||||
JoinGroupRequestDto();
|
JoinGroupRequestDto(
|
||||||
|
QString groupId
|
||||||
|
);
|
||||||
|
|
||||||
JoinGroupRequestDto(const JoinGroupRequestDto &other);
|
JoinGroupRequestDto(const JoinGroupRequestDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -72,8 +75,13 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString m_groupId;
|
QString m_groupId;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing JoinGroupRequestDto::fromJson();
|
||||||
|
JoinGroupRequestDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -47,7 +47,10 @@ namespace DTO {
|
||||||
|
|
||||||
class LibraryOptionInfoDto {
|
class LibraryOptionInfoDto {
|
||||||
public:
|
public:
|
||||||
LibraryOptionInfoDto();
|
LibraryOptionInfoDto(
|
||||||
|
bool defaultEnabled
|
||||||
|
);
|
||||||
|
|
||||||
LibraryOptionInfoDto(const LibraryOptionInfoDto &other);
|
LibraryOptionInfoDto(const LibraryOptionInfoDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -84,8 +87,13 @@ public:
|
||||||
protected:
|
protected:
|
||||||
QString m_name;
|
QString m_name;
|
||||||
bool m_defaultEnabled;
|
bool m_defaultEnabled;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing LibraryOptionInfoDto::fromJson();
|
||||||
|
LibraryOptionInfoDto();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -51,7 +51,23 @@ namespace DTO {
|
||||||
|
|
||||||
class LibraryOptions {
|
class LibraryOptions {
|
||||||
public:
|
public:
|
||||||
LibraryOptions();
|
LibraryOptions(
|
||||||
|
bool enablePhotos,
|
||||||
|
bool enableRealtimeMonitor,
|
||||||
|
bool enableChapterImageExtraction,
|
||||||
|
bool extractChapterImagesDuringLibraryScan,
|
||||||
|
bool saveLocalMetadata,
|
||||||
|
bool enableInternetProviders,
|
||||||
|
bool enableAutomaticSeriesGrouping,
|
||||||
|
bool enableEmbeddedTitles,
|
||||||
|
bool enableEmbeddedEpisodeInfos,
|
||||||
|
qint32 automaticRefreshIntervalDays,
|
||||||
|
bool skipSubtitlesIfEmbeddedSubtitlesPresent,
|
||||||
|
bool skipSubtitlesIfAudioTrackMatches,
|
||||||
|
bool requirePerfectSubtitleMatch,
|
||||||
|
bool saveSubtitlesWithMedia
|
||||||
|
);
|
||||||
|
|
||||||
LibraryOptions(const LibraryOptions &other);
|
LibraryOptions(const LibraryOptions &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -246,8 +262,13 @@ protected:
|
||||||
bool m_requirePerfectSubtitleMatch;
|
bool m_requirePerfectSubtitleMatch;
|
||||||
bool m_saveSubtitlesWithMedia;
|
bool m_saveSubtitlesWithMedia;
|
||||||
QList<TypeOptions> m_typeOptions;
|
QList<TypeOptions> m_typeOptions;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing LibraryOptions::fromJson();
|
||||||
|
LibraryOptions();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,8 +49,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class LibraryOptionsResultDto {
|
class LibraryOptionsResultDto {
|
||||||
public:
|
public: LibraryOptionsResultDto();
|
||||||
LibraryOptionsResultDto();
|
|
||||||
LibraryOptionsResultDto(const LibraryOptionsResultDto &other);
|
LibraryOptionsResultDto(const LibraryOptionsResultDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -113,8 +112,11 @@ protected:
|
||||||
QList<LibraryOptionInfoDto> m_metadataReaders;
|
QList<LibraryOptionInfoDto> m_metadataReaders;
|
||||||
QList<LibraryOptionInfoDto> m_subtitleFetchers;
|
QList<LibraryOptionInfoDto> m_subtitleFetchers;
|
||||||
QList<LibraryTypeOptionsDto> m_typeOptions;
|
QList<LibraryTypeOptionsDto> m_typeOptions;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -51,8 +51,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class LibraryTypeOptionsDto {
|
class LibraryTypeOptionsDto {
|
||||||
public:
|
public: LibraryTypeOptionsDto();
|
||||||
LibraryTypeOptionsDto();
|
|
||||||
LibraryTypeOptionsDto(const LibraryTypeOptionsDto &other);
|
LibraryTypeOptionsDto(const LibraryTypeOptionsDto &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -127,8 +126,11 @@ protected:
|
||||||
QList<LibraryOptionInfoDto> m_imageFetchers;
|
QList<LibraryOptionInfoDto> m_imageFetchers;
|
||||||
QList<ImageType> m_supportedImageTypes;
|
QList<ImageType> m_supportedImageTypes;
|
||||||
QList<ImageOption> m_defaultImageOptions;
|
QList<ImageOption> m_defaultImageOptions;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,10 @@ namespace DTO {
|
||||||
|
|
||||||
class LibraryUpdateInfo {
|
class LibraryUpdateInfo {
|
||||||
public:
|
public:
|
||||||
LibraryUpdateInfo();
|
LibraryUpdateInfo(
|
||||||
|
bool isEmpty
|
||||||
|
);
|
||||||
|
|
||||||
LibraryUpdateInfo(const LibraryUpdateInfo &other);
|
LibraryUpdateInfo(const LibraryUpdateInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -138,8 +141,13 @@ protected:
|
||||||
QStringList m_itemsUpdated;
|
QStringList m_itemsUpdated;
|
||||||
QStringList m_collectionFolders;
|
QStringList m_collectionFolders;
|
||||||
bool m_isEmpty;
|
bool m_isEmpty;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing LibraryUpdateInfo::fromJson();
|
||||||
|
LibraryUpdateInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -50,7 +50,10 @@ namespace DTO {
|
||||||
|
|
||||||
class ListingsProviderInfo {
|
class ListingsProviderInfo {
|
||||||
public:
|
public:
|
||||||
ListingsProviderInfo();
|
ListingsProviderInfo(
|
||||||
|
bool enableAllTuners
|
||||||
|
);
|
||||||
|
|
||||||
ListingsProviderInfo(const ListingsProviderInfo &other);
|
ListingsProviderInfo(const ListingsProviderInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -207,8 +210,13 @@ protected:
|
||||||
QString m_moviePrefix;
|
QString m_moviePrefix;
|
||||||
QString m_preferredLanguage;
|
QString m_preferredLanguage;
|
||||||
QString m_userAgent;
|
QString m_userAgent;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing ListingsProviderInfo::fromJson();
|
||||||
|
ListingsProviderInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,10 @@ namespace DTO {
|
||||||
|
|
||||||
class LiveStreamResponse {
|
class LiveStreamResponse {
|
||||||
public:
|
public:
|
||||||
LiveStreamResponse();
|
LiveStreamResponse(
|
||||||
|
QSharedPointer<MediaSourceInfo> mediaSource
|
||||||
|
);
|
||||||
|
|
||||||
LiveStreamResponse(const LiveStreamResponse &other);
|
LiveStreamResponse(const LiveStreamResponse &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -69,8 +72,13 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QSharedPointer<MediaSourceInfo> m_mediaSource = QSharedPointer<MediaSourceInfo>();
|
QSharedPointer<MediaSourceInfo> m_mediaSource = QSharedPointer<MediaSourceInfo>();
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing LiveStreamResponse::fromJson();
|
||||||
|
LiveStreamResponse();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -49,7 +49,10 @@ namespace DTO {
|
||||||
|
|
||||||
class LiveTvInfo {
|
class LiveTvInfo {
|
||||||
public:
|
public:
|
||||||
LiveTvInfo();
|
LiveTvInfo(
|
||||||
|
bool isEnabled
|
||||||
|
);
|
||||||
|
|
||||||
LiveTvInfo(const LiveTvInfo &other);
|
LiveTvInfo(const LiveTvInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -98,8 +101,13 @@ protected:
|
||||||
QList<LiveTvServiceInfo> m_services;
|
QList<LiveTvServiceInfo> m_services;
|
||||||
bool m_isEnabled;
|
bool m_isEnabled;
|
||||||
QStringList m_enabledUsers;
|
QStringList m_enabledUsers;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing LiveTvInfo::fromJson();
|
||||||
|
LiveTvInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -50,7 +50,12 @@ namespace DTO {
|
||||||
|
|
||||||
class LiveTvServiceInfo {
|
class LiveTvServiceInfo {
|
||||||
public:
|
public:
|
||||||
LiveTvServiceInfo();
|
LiveTvServiceInfo(
|
||||||
|
LiveTvServiceStatus status,
|
||||||
|
bool hasUpdateAvailable,
|
||||||
|
bool isVisible
|
||||||
|
);
|
||||||
|
|
||||||
LiveTvServiceInfo(const LiveTvServiceInfo &other);
|
LiveTvServiceInfo(const LiveTvServiceInfo &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -147,8 +152,13 @@ protected:
|
||||||
bool m_hasUpdateAvailable;
|
bool m_hasUpdateAvailable;
|
||||||
bool m_isVisible;
|
bool m_isVisible;
|
||||||
QStringList m_tuners;
|
QStringList m_tuners;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing LiveTvServiceInfo::fromJson();
|
||||||
|
LiveTvServiceInfo();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -46,8 +46,7 @@ namespace DTO {
|
||||||
|
|
||||||
|
|
||||||
class LocalizationOption {
|
class LocalizationOption {
|
||||||
public:
|
public: LocalizationOption();
|
||||||
LocalizationOption();
|
|
||||||
LocalizationOption(const LocalizationOption &other);
|
LocalizationOption(const LocalizationOption &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -78,8 +77,11 @@ public:
|
||||||
protected:
|
protected:
|
||||||
QString m_name;
|
QString m_name;
|
||||||
QString m_value;
|
QString m_value;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -48,7 +48,12 @@ namespace DTO {
|
||||||
|
|
||||||
class LogFile {
|
class LogFile {
|
||||||
public:
|
public:
|
||||||
LogFile();
|
LogFile(
|
||||||
|
QDateTime dateCreated,
|
||||||
|
QDateTime dateModified,
|
||||||
|
qint64 size
|
||||||
|
);
|
||||||
|
|
||||||
LogFile(const LogFile &other);
|
LogFile(const LogFile &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -105,8 +110,13 @@ protected:
|
||||||
QDateTime m_dateModified;
|
QDateTime m_dateModified;
|
||||||
qint64 m_size;
|
qint64 m_size;
|
||||||
QString m_name;
|
QString m_name;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing LogFile::fromJson();
|
||||||
|
LogFile();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
|
@ -47,7 +47,10 @@ namespace DTO {
|
||||||
|
|
||||||
class MediaAttachment {
|
class MediaAttachment {
|
||||||
public:
|
public:
|
||||||
MediaAttachment();
|
MediaAttachment(
|
||||||
|
qint32 index
|
||||||
|
);
|
||||||
|
|
||||||
MediaAttachment(const MediaAttachment &other);
|
MediaAttachment(const MediaAttachment &other);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -144,8 +147,13 @@ protected:
|
||||||
QString m_fileName;
|
QString m_fileName;
|
||||||
QString m_mimeType;
|
QString m_mimeType;
|
||||||
QString m_deliveryUrl;
|
QString m_deliveryUrl;
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Private constructor which generates an invalid object, for use withing MediaAttachment::fromJson();
|
||||||
|
MediaAttachment();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
} // NS DTO
|
} // NS DTO
|
||||||
|
|
||||||
namespace Support {
|
namespace Support {
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue