1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2024-05-19 12:22:42 +00:00
harbour-sailfin/core/include/JellyfinQt/dto/userpolicy.h

366 lines
9.4 KiB
C++

/*
* Sailfin: a Jellyfin client written using Qt
* Copyright (C) 2021 Chris Josten and the Sailfin Contributors.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET
* OVERWRITTEN AT SOME POINT!
*
* If there is a bug in this file, please fix the code generator used to generate this file found in
* core/openapigenerator.d.
*
* This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that
* file with a newer file if needed instead of manually updating the files.
*/
#ifndef JELLYFIN_DTO_USERPOLICY_H
#define JELLYFIN_DTO_USERPOLICY_H
#include <QJsonObject>
#include <QJsonValue>
#include <QList>
#include <QString>
#include <QStringList>
#include <optional>
#include "JellyfinQt/dto/accessschedule.h"
#include "JellyfinQt/dto/syncplayuseraccesstype.h"
#include "JellyfinQt/dto/unrateditem.h"
#include "JellyfinQt/support/jsonconv.h"
namespace Jellyfin {
// Forward declaration
class ApiClient;
}
namespace Jellyfin {
namespace DTO {
class UserPolicy {
public:
UserPolicy();
UserPolicy(const UserPolicy &other);
/**
* Replaces the data being hold by this class with that of the other.
*/
void replaceData(UserPolicy &other);
static UserPolicy fromJson(QJsonObject source);
void setFromJson(QJsonObject source);
QJsonObject toJson() const;
// Properties
/**
* @brief Gets or sets a value indicating whether this instance is administrator.
*/
bool isAdministrator() const;
/**
* @brief Gets or sets a value indicating whether this instance is administrator.
*/
void setIsAdministrator(bool newIsAdministrator);
/**
* @brief Gets or sets a value indicating whether this instance is hidden.
*/
bool isHidden() const;
/**
* @brief Gets or sets a value indicating whether this instance is hidden.
*/
void setIsHidden(bool newIsHidden);
/**
* @brief Gets or sets a value indicating whether this instance is disabled.
*/
bool isDisabled() const;
/**
* @brief Gets or sets a value indicating whether this instance is disabled.
*/
void setIsDisabled(bool newIsDisabled);
/**
* @brief Gets or sets the max parental rating.
*/
std::optional<qint32> maxParentalRating() const;
/**
* @brief Gets or sets the max parental rating.
*/
void setMaxParentalRating(std::optional<qint32> newMaxParentalRating);
bool maxParentalRatingNull() const;
void setMaxParentalRatingNull();
QStringList blockedTags() const;
void setBlockedTags(QStringList newBlockedTags);
bool blockedTagsNull() const;
void setBlockedTagsNull();
bool enableUserPreferenceAccess() const;
void setEnableUserPreferenceAccess(bool newEnableUserPreferenceAccess);
QList<AccessSchedule> accessSchedules() const;
void setAccessSchedules(QList<AccessSchedule> newAccessSchedules);
bool accessSchedulesNull() const;
void setAccessSchedulesNull();
QList<UnratedItem> blockUnratedItems() const;
void setBlockUnratedItems(QList<UnratedItem> newBlockUnratedItems);
bool blockUnratedItemsNull() const;
void setBlockUnratedItemsNull();
bool enableRemoteControlOfOtherUsers() const;
void setEnableRemoteControlOfOtherUsers(bool newEnableRemoteControlOfOtherUsers);
bool enableSharedDeviceControl() const;
void setEnableSharedDeviceControl(bool newEnableSharedDeviceControl);
bool enableRemoteAccess() const;
void setEnableRemoteAccess(bool newEnableRemoteAccess);
bool enableLiveTvManagement() const;
void setEnableLiveTvManagement(bool newEnableLiveTvManagement);
bool enableLiveTvAccess() const;
void setEnableLiveTvAccess(bool newEnableLiveTvAccess);
bool enableMediaPlayback() const;
void setEnableMediaPlayback(bool newEnableMediaPlayback);
bool enableAudioPlaybackTranscoding() const;
void setEnableAudioPlaybackTranscoding(bool newEnableAudioPlaybackTranscoding);
bool enableVideoPlaybackTranscoding() const;
void setEnableVideoPlaybackTranscoding(bool newEnableVideoPlaybackTranscoding);
bool enablePlaybackRemuxing() const;
void setEnablePlaybackRemuxing(bool newEnablePlaybackRemuxing);
bool forceRemoteSourceTranscoding() const;
void setForceRemoteSourceTranscoding(bool newForceRemoteSourceTranscoding);
bool enableContentDeletion() const;
void setEnableContentDeletion(bool newEnableContentDeletion);
QStringList enableContentDeletionFromFolders() const;
void setEnableContentDeletionFromFolders(QStringList newEnableContentDeletionFromFolders);
bool enableContentDeletionFromFoldersNull() const;
void setEnableContentDeletionFromFoldersNull();
bool enableContentDownloading() const;
void setEnableContentDownloading(bool newEnableContentDownloading);
/**
* @brief Gets or sets a value indicating whether [enable synchronize].
*/
bool enableSyncTranscoding() const;
/**
* @brief Gets or sets a value indicating whether [enable synchronize].
*/
void setEnableSyncTranscoding(bool newEnableSyncTranscoding);
bool enableMediaConversion() const;
void setEnableMediaConversion(bool newEnableMediaConversion);
QStringList enabledDevices() const;
void setEnabledDevices(QStringList newEnabledDevices);
bool enabledDevicesNull() const;
void setEnabledDevicesNull();
bool enableAllDevices() const;
void setEnableAllDevices(bool newEnableAllDevices);
QStringList enabledChannels() const;
void setEnabledChannels(QStringList newEnabledChannels);
bool enabledChannelsNull() const;
void setEnabledChannelsNull();
bool enableAllChannels() const;
void setEnableAllChannels(bool newEnableAllChannels);
QStringList enabledFolders() const;
void setEnabledFolders(QStringList newEnabledFolders);
bool enabledFoldersNull() const;
void setEnabledFoldersNull();
bool enableAllFolders() const;
void setEnableAllFolders(bool newEnableAllFolders);
qint32 invalidLoginAttemptCount() const;
void setInvalidLoginAttemptCount(qint32 newInvalidLoginAttemptCount);
qint32 loginAttemptsBeforeLockout() const;
void setLoginAttemptsBeforeLockout(qint32 newLoginAttemptsBeforeLockout);
qint32 maxActiveSessions() const;
void setMaxActiveSessions(qint32 newMaxActiveSessions);
bool enablePublicSharing() const;
void setEnablePublicSharing(bool newEnablePublicSharing);
QStringList blockedMediaFolders() const;
void setBlockedMediaFolders(QStringList newBlockedMediaFolders);
bool blockedMediaFoldersNull() const;
void setBlockedMediaFoldersNull();
QStringList blockedChannels() const;
void setBlockedChannels(QStringList newBlockedChannels);
bool blockedChannelsNull() const;
void setBlockedChannelsNull();
qint32 remoteClientBitrateLimit() const;
void setRemoteClientBitrateLimit(qint32 newRemoteClientBitrateLimit);
QString authenticationProviderId() const;
void setAuthenticationProviderId(QString newAuthenticationProviderId);
bool authenticationProviderIdNull() const;
void setAuthenticationProviderIdNull();
QString passwordResetProviderId() const;
void setPasswordResetProviderId(QString newPasswordResetProviderId);
bool passwordResetProviderIdNull() const;
void setPasswordResetProviderIdNull();
SyncPlayUserAccessType syncPlayAccess() const;
void setSyncPlayAccess(SyncPlayUserAccessType newSyncPlayAccess);
protected:
bool m_isAdministrator;
bool m_isHidden;
bool m_isDisabled;
std::optional<qint32> m_maxParentalRating = std::nullopt;
QStringList m_blockedTags;
bool m_enableUserPreferenceAccess;
QList<AccessSchedule> m_accessSchedules;
QList<UnratedItem> m_blockUnratedItems;
bool m_enableRemoteControlOfOtherUsers;
bool m_enableSharedDeviceControl;
bool m_enableRemoteAccess;
bool m_enableLiveTvManagement;
bool m_enableLiveTvAccess;
bool m_enableMediaPlayback;
bool m_enableAudioPlaybackTranscoding;
bool m_enableVideoPlaybackTranscoding;
bool m_enablePlaybackRemuxing;
bool m_forceRemoteSourceTranscoding;
bool m_enableContentDeletion;
QStringList m_enableContentDeletionFromFolders;
bool m_enableContentDownloading;
bool m_enableSyncTranscoding;
bool m_enableMediaConversion;
QStringList m_enabledDevices;
bool m_enableAllDevices;
QStringList m_enabledChannels;
bool m_enableAllChannels;
QStringList m_enabledFolders;
bool m_enableAllFolders;
qint32 m_invalidLoginAttemptCount;
qint32 m_loginAttemptsBeforeLockout;
qint32 m_maxActiveSessions;
bool m_enablePublicSharing;
QStringList m_blockedMediaFolders;
QStringList m_blockedChannels;
qint32 m_remoteClientBitrateLimit;
QString m_authenticationProviderId;
QString m_passwordResetProviderId;
SyncPlayUserAccessType m_syncPlayAccess;
};
} // NS DTO
namespace Support {
using UserPolicy = Jellyfin::DTO::UserPolicy;
template <>
UserPolicy fromJsonValue(const QJsonValue &source, convertType<UserPolicy>);
template<>
QJsonValue toJsonValue(const UserPolicy &source, convertType<UserPolicy>);
} // NS DTO
} // NS Jellyfin
#endif // JELLYFIN_DTO_USERPOLICY_H