File indexing completed on 2024-04-28 08:49:45

0001 /*
0002  *   SPDX-FileCopyrightText: 2012-2016 Ivan Cukic <ivan.cukic@kde.org>
0003  *   SPDX-FileCopyrightText: 2022 Alex Kuznetsov <alex@vxpro.io>
0004  *
0005  *   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0006  */
0007 
0008 #ifndef KIO_ACTIVITIES_API_H
0009 #define KIO_ACTIVITIES_API_H
0010 
0011 #include <KIO/UDSEntry>
0012 #include <PlasmaActivities/Consumer>
0013 #include <QString>
0014 
0015 class ActivitiesProtocolApi
0016 {
0017 public:
0018     ActivitiesProtocolApi();
0019 
0020     enum PathType { RootItem, ActivityRootItem, ActivityPathItem };
0021 
0022     PathType pathType(const QUrl &url, QString *activity = nullptr, QString *filePath = nullptr) const;
0023 
0024     void syncActivities(KActivities::Consumer &activities);
0025 
0026     KIO::UDSEntry activityEntry(const QString &activity);
0027 
0028     KIO::UDSEntry filesystemEntry(const QString &path);
0029 
0030     QString mangledPath(const QString &path) const;
0031 
0032     QString demangledPath(const QString &mangled) const;
0033 };
0034 
0035 #endif // KIO_ACTIVITIES_API_H