File indexing completed on 2024-05-12 15:59:15

0001 /*
0002  *  SPDX-FileCopyrightText: 2007 Cyrille Berger <cberger@cberger.net>
0003  *  SPDX-FileCopyrightText: 2021 L. E. Segovia <amy@amyspark.me>
0004  *
0005  *  SPDX-License-Identifier: LGPL-2.1-or-later
0006  */
0007 
0008 #include "kis_meta_data_backend_registry.h"
0009 
0010 #include <QGlobalStatic>
0011 
0012 #include <KoPluginLoader.h>
0013 
0014 #include <kis_debug.h>
0015 
0016 Q_GLOBAL_STATIC(KisMetadataBackendRegistry, s_instance)
0017 
0018 KisMetadataBackendRegistry::KisMetadataBackendRegistry()
0019 {
0020 }
0021 
0022 KisMetadataBackendRegistry::~KisMetadataBackendRegistry()
0023 {
0024     Q_FOREACH (const QString &id, keys()) {
0025         delete get(id);
0026     }
0027     dbgRegistry << "Deleting KisMetadataBackendRegistry";
0028 }
0029 
0030 void KisMetadataBackendRegistry::init()
0031 {
0032     KoPluginLoader::instance()->load("Krita/Metadata", "(Type == 'Service') and ([X-Krita-Version] == 28)");
0033 }
0034 
0035 KisMetadataBackendRegistry *KisMetadataBackendRegistry::instance()
0036 {
0037     if (!s_instance.exists()) {
0038         dbgRegistry << "initializing KisMetadataBackendRegistry";
0039         s_instance->init();
0040     }
0041     return s_instance;
0042 }