File indexing completed on 2025-02-02 05:43:17
0001 /* 0002 This file is part of the Kasten Framework, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2008 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "modelencoderfilesystemexporterconfigeditorfactory.hpp" 0010 0011 // lib 0012 #include "modelencoderfilesystemexporterconfigeditor.hpp" 0013 #include <abstractmodelstreamencoderconfigeditorfactory.hpp> 0014 // Kasten core 0015 #include <Kasten/ModelEncoderFileSystemExporter> 0016 0017 namespace Kasten { 0018 0019 ModelEncoderFileSystemExporterConfigEditorFactory::ModelEncoderFileSystemExporterConfigEditorFactory(AbstractModelStreamEncoderConfigEditorFactory* encoderConfigEditorFactory) 0020 : mEncoderConfigEditorFactory(encoderConfigEditorFactory) 0021 { 0022 } 0023 0024 ModelEncoderFileSystemExporterConfigEditorFactory::~ModelEncoderFileSystemExporterConfigEditorFactory() 0025 { 0026 // TODO: do not delete mEncoderConfigEditorFactory here, is deleted outside, no clear control that way 0027 } 0028 0029 AbstractModelExporterConfigEditor* ModelEncoderFileSystemExporterConfigEditorFactory::tryCreateConfigEditor(AbstractModelExporter* exporter) const 0030 { 0031 AbstractModelExporterConfigEditor* result = nullptr; 0032 0033 auto* modelEncoderFileSystemExporter = qobject_cast<ModelEncoderFileSystemExporter*>(exporter); 0034 0035 if (modelEncoderFileSystemExporter) { 0036 AbstractModelStreamEncoderConfigEditor* encoderConfigEditor = 0037 mEncoderConfigEditorFactory->tryCreateConfigEditor(modelEncoderFileSystemExporter->encoder()); 0038 0039 if (encoderConfigEditor) { 0040 result = new ModelEncoderFileSystemExporterConfigEditor(encoderConfigEditor); 0041 } 0042 } 0043 0044 return result; 0045 } 0046 0047 }