File indexing completed on 2025-02-09 07:11:25

0001 /*
0002     This file is part of the Kasten Framework, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2008-2009 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 #ifndef KASTEN_MODELENCODERFILESYSTEMEXPORTJOB_P_HPP
0010 #define KASTEN_MODELENCODERFILESYSTEMEXPORTJOB_P_HPP
0011 
0012 // lib
0013 #include "abstractfilesystemexportjob_p.hpp"
0014 #include "modelencoderfilesystemexportjob.hpp"
0015 
0016 namespace Kasten {
0017 
0018 class ModelEncoderFileSystemExportJobPrivate : public AbstractFileSystemExportJobPrivate
0019 {
0020 public:
0021     ModelEncoderFileSystemExportJobPrivate(ModelEncoderFileSystemExportJob* parent,
0022                                            AbstractModel* model,
0023                                            const AbstractModelSelection* selection,
0024                                            const QUrl& url,
0025                                            AbstractModelStreamEncoder* encoder);
0026 
0027     ~ModelEncoderFileSystemExportJobPrivate() override;
0028 
0029 public: // AbstractFileSystemExportJob API
0030     void startExportToFile();
0031 
0032 public:
0033     AbstractModelStreamEncoder* encoder() const;
0034 
0035 private:
0036     Q_DECLARE_PUBLIC(ModelEncoderFileSystemExportJob)
0037 
0038 private:
0039     AbstractModelStreamEncoder* const mEncoder;
0040 };
0041 
0042 inline ModelEncoderFileSystemExportJobPrivate::ModelEncoderFileSystemExportJobPrivate(ModelEncoderFileSystemExportJob* parent,
0043                                                                                       AbstractModel* model,
0044                                                                                       const AbstractModelSelection* selection,
0045                                                                                       const QUrl& url,
0046                                                                                       AbstractModelStreamEncoder* encoder)
0047     : AbstractFileSystemExportJobPrivate(parent, model, selection, url)
0048     , mEncoder(encoder)
0049 {}
0050 
0051 inline ModelEncoderFileSystemExportJobPrivate::~ModelEncoderFileSystemExportJobPrivate() = default;
0052 
0053 inline AbstractModelStreamEncoder* ModelEncoderFileSystemExportJobPrivate::encoder() const { return mEncoder; }
0054 
0055 }
0056 
0057 #endif