File indexing completed on 2024-04-28 15:26:26

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 1999 Torben Weis <weis@kde.org>
0004     SPDX-FileCopyrightText: 2000-2001 Waldo Bastian <bastian@kde.org>
0005     SPDX-FileCopyrightText: 2012 David Faure <faure@kde.org>
0006     SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org>
0007 
0008     SPDX-License-Identifier: LGPL-2.0-only
0009 */
0010 
0011 #ifndef KPROTOCOLINFOPRIVATE_H
0012 #define KPROTOCOLINFOPRIVATE_H
0013 
0014 #include "kprotocolinfo.h"
0015 
0016 #include <QJsonObject>
0017 
0018 /**
0019  * @internal
0020  */
0021 class KProtocolInfoPrivate
0022 {
0023 public:
0024 #if KIOCORE_BUILD_DEPRECATED_SINCE(5, 84)
0025     explicit KProtocolInfoPrivate(const QString &path);
0026 #endif
0027     KProtocolInfoPrivate(const QString &name, const QString &exec, const QJsonObject &json);
0028 
0029     QString m_name;
0030     QString m_exec;
0031     KProtocolInfo::Type m_inputType;
0032     KProtocolInfo::Type m_outputType;
0033     QStringList m_listing;
0034     bool m_isSourceProtocol : 1;
0035     bool m_isHelperProtocol : 1;
0036     bool m_supportsListing : 1;
0037     bool m_supportsReading : 1;
0038     bool m_supportsWriting : 1;
0039     bool m_supportsMakeDir : 1;
0040     bool m_supportsDeleting : 1;
0041     bool m_supportsLinking : 1;
0042     bool m_supportsMoving : 1;
0043     bool m_supportsOpening : 1;
0044     bool m_supportsTruncating : 1;
0045     bool m_determineMimetypeFromExtension : 1;
0046     bool m_canCopyFromFile : 1;
0047     bool m_canCopyToFile : 1;
0048     bool m_showPreviews : 1;
0049     bool m_canRenameFromFile : 1;
0050     bool m_canRenameToFile : 1;
0051     bool m_canDeleteRecursive : 1;
0052     bool m_supportsPermissions : 1;
0053     QString m_defaultMimetype;
0054     QString m_icon;
0055     QString m_config;
0056     int m_maxWorkers;
0057 
0058     QString m_docPath;
0059     QString m_protClass;
0060     QStringList m_archiveMimeTypes;
0061     KProtocolInfo::ExtraFieldList m_extraFields;
0062     KProtocolInfo::FileNameUsedForCopying m_fileNameUsedForCopying;
0063     QStringList m_capabilities;
0064 #if KIOCORE_BUILD_DEPRECATED_SINCE(5, 101)
0065     QStringList m_slaveHandlesNotify;
0066 #endif
0067     QString m_proxyProtocol;
0068     int m_maxWorkersPerHost;
0069 };
0070 
0071 #endif