Krita Source Code Documentation
Loading...
Searching...
No Matches
KisResourceLoaderRegistry.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2018 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7#ifndef KISRESOURCELOADERREGISTRY_H
8#define KISRESOURCELOADERREGISTRY_H
9
10#include <QObject>
11#include <QStringList>
12
13#include <KoGenericRegistry.h>
14#include "KisResourceLoader.h"
15
16#include <kritaresources_export.h>
17
26class KRITARESOURCES_EXPORT KisResourceLoaderRegistry : public QObject, public KoGenericRegistry<KisResourceLoaderBase*>
27{
28 Q_OBJECT
29public:
31
33
37 void registerLoader(KisResourceLoaderBase* loader);
38
40 KisResourceLoaderBase *loader(const QString &resourceType, const QString &mimetype) const;
41
45 QStringList filters(const QString &resourceType) const;
46
50 QStringList mimeTypes(const QString &resourceType) const;
51
55 QStringList resourceTypes() const;
56
60 QVector<KisResourceLoaderBase*> resourceTypeLoaders(const QString &resourceType) const;
61
69 virtual ~ResourceCacheFixup() {};
70 virtual QStringList executeFix() = 0;
71 };
72
73 void registerFixup(int priority, ResourceCacheFixup *fixup);
74 QStringList executeAllFixups();
75
76private:
77
78 KisResourceLoaderRegistry(QObject *parent);
81private:
82
83 struct Private;
84 QScopedPointer<Private> m_d;
85};
86
87#endif // KISRESOURCELOADERREGISTRY_H
PythonPluginManager * instance
The KisResourceLoader class is an abstract interface class that must be implemented by actual resourc...
The KisResourceLoaderRegistry class manages the loader plugins for resources. Every resource can be l...
KisResourceLoaderRegistry(const KisResourceLoaderRegistry &)
QScopedPointer< Private > m_d
KisResourceLoaderRegistry operator=(const KisResourceLoaderRegistry &)