/** * @file SdiWindow/factory.h * @brief SDI module's factory class * @author Enar Vaikene * * Copyright (c) 2011-2019 Enar Vaikene * * This file is part of the eVaf C++ cross-platform application development framework. * * This file can be used under the terms of the GNU General Public License * version 3.0 as published by the Free Software Foundation and appearing in * the file LICENSE included in the packaging of this file. Please review the * the following information to ensure the GNU General Public License version * 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html. * * Alternatively, this file may be used in accordance with the Commercial License * Agreement provided with the Software. */ #ifndef __SDIWINDOW_FACTORY_H # define __SDIWINDOW_FACTORY_H #include "version.h" #include #include namespace eVaf { /** * Module that implements the Single Document Interface. * * Use this module as the main window for SDI applications. */ namespace SdiWindow { /** * Internal implementation of the module. */ namespace Internal { class SdiWindowPlugin; } // namespace eVaf::SdiWindow::Internal /** * Plugin factory class for the module */ class Factory : public Plugins::iPluginFactory { Q_OBJECT Q_INTERFACES(eVaf::Plugins::iPluginFactory) Q_PLUGIN_METADATA(IID VER_MODULE_NAME_STR) public: Factory(); virtual ~Factory(); virtual QObject * create(QString const & name); private: // Members QScopedPointer mPlugin; }; } // namespace eVaf::SdiWindow } // namespace eVaf #endif // factory.h