File indexing completed on 2024-05-12 16:01:54

0001 /*
0002  *  kis_resource_server_provider.h - part of KImageShop
0003  *
0004  *  SPDX-FileCopyrightText: 1999 Matthias Elter <elter@kde.org>
0005  *  SPDX-FileCopyrightText: 2003 Patrick Julien <freak@codepimps.org>
0006  *  SPDX-FileCopyrightText: 2005 Sven Langkamp <sven.langkamp@gmail.com>
0007  *  SPDX-FileCopyrightText: 2003-2008 Boudewijn Rempt <boud@valdyas.org>
0008  *
0009  *  SPDX-License-Identifier: GPL-2.0-or-later
0010  */
0011 #ifndef KIS_RESOURCESERVERPROVIDER_H_
0012 #define KIS_RESOURCESERVERPROVIDER_H_
0013 
0014 #include <KoResourceServer.h>
0015 
0016 #include <brushengine/kis_paintop_preset.h>
0017 
0018 #include "kritaui_export.h"
0019 #include "KisWindowLayoutResource.h"
0020 
0021 class KisWorkspaceResource;
0022 class KisSessionResource;
0023 class KisPSDLayerStyle;
0024 
0025 typedef KoResourceServer<KisPaintOpPreset> KisPaintOpPresetResourceServer;
0026 
0027 class KRITAUI_EXPORT KisResourceServerProvider : public QObject
0028 {
0029     Q_OBJECT
0030 
0031 public:
0032     KisResourceServerProvider();
0033     ~KisResourceServerProvider() override;
0034 
0035     static KisResourceServerProvider* instance();
0036 
0037     KisPaintOpPresetResourceServer* paintOpPresetServer();
0038     KoResourceServer<KisWorkspaceResource>* workspaceServer();
0039     KoResourceServer<KisWindowLayoutResource>* windowLayoutServer();
0040     KoResourceServer<KisSessionResource>* sessionServer();
0041     KoResourceServer<KisPSDLayerStyle>* layerStyleServer();
0042 
0043 private:
0044 
0045     KisResourceServerProvider(const KisResourceServerProvider&);
0046     KisResourceServerProvider operator=(const KisResourceServerProvider&);
0047 
0048     KisPaintOpPresetResourceServer *m_paintOpPresetServer;
0049     KoResourceServer<KisWorkspaceResource> *m_workspaceServer;
0050     KoResourceServer<KisWindowLayoutResource> *m_windowLayoutServer;
0051     KoResourceServer<KisSessionResource> *m_sessionServer;
0052     KoResourceServer<KisPSDLayerStyle> *m_layerStyleServer;
0053 };
0054 
0055 #endif // KIS_RESOURCESERVERPROVIDER_H_