File indexing completed on 2024-04-28 04:39:03

0001 /*
0002     SPDX-FileCopyrightText: 2010 Friedrich W. H. Kossebau <kossebau@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef OKTETADOCUMENTFACTORY_H
0008 #define OKTETADOCUMENTFACTORY_H
0009 
0010 // plugin
0011 #include "oktetadocument.h"
0012 // KDev
0013 #include <interfaces/icore.h>
0014 #include <interfaces/idocumentcontroller.h>
0015 
0016 namespace KDevelop
0017 {
0018 class OktetaPlugin;
0019 
0020 
0021 class OktetaDocumentFactory : public IDocumentFactory
0022 {
0023   public:
0024     explicit OktetaDocumentFactory( OktetaPlugin* plugin );
0025 
0026   public: // IDocumentFactory API
0027     IDocument* create( const QUrl &url, ICore* core ) override;
0028 
0029   protected:
0030     OktetaPlugin* mPlugin;
0031 };
0032 
0033 
0034 inline OktetaDocumentFactory::OktetaDocumentFactory( OktetaPlugin* plugin )
0035   : mPlugin( plugin )
0036 {
0037 }
0038 
0039 inline IDocument* OktetaDocumentFactory::create( const QUrl &url, ICore* core )
0040 {
0041     auto* document = new OktetaDocument( url, core );
0042     document->setPlugin( mPlugin );
0043 //             m_plugin->activateDocument(d);
0044     return document;
0045 }
0046 
0047 }
0048 
0049 #endif