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

0001 /*
0002  *  SPDX-FileCopyrightText: 2008 Cyrille Berger <cberger@cberger.net>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.1-or-later
0005  */
0006 #include <QGlobalStatic>
0007 
0008 #include "kis_debug.h"
0009 #include "kis_meta_data_merge_strategy_registry.h"
0010 #include "kis_meta_data_merge_strategy_p.h"
0011 
0012 Q_GLOBAL_STATIC(KisMetaData::MergeStrategyRegistry, s_instance)
0013 
0014 
0015 using namespace KisMetaData;
0016 
0017 MergeStrategyRegistry::MergeStrategyRegistry()
0018 {
0019     add(new DropMergeStrategy());
0020     add(new PriorityToFirstMergeStrategy());
0021     add(new OnlyIdenticalMergeStrategy());
0022     add(new SmartMergeStrategy());
0023 }
0024 
0025 MergeStrategyRegistry::MergeStrategyRegistry(const MergeStrategyRegistry&) : KoGenericRegistry<const KisMetaData::MergeStrategy*>()
0026 {
0027 }
0028 
0029 MergeStrategyRegistry& MergeStrategyRegistry::operator=(const MergeStrategyRegistry&)
0030 {
0031     return *this;
0032 }
0033 
0034 MergeStrategyRegistry::~MergeStrategyRegistry()
0035 {
0036     Q_FOREACH (const QString &id, keys()) {
0037         delete get(id);
0038     }
0039     dbgRegistry << "Deleting MergeStrategyRegistry";
0040 }
0041 
0042 MergeStrategyRegistry* MergeStrategyRegistry::instance()
0043 {
0044     return s_instance;
0045 }
0046