]> vaikene.ee Git - evaf/blob - src/plugins/SdiWindow/factory.h
Mac OS changes and switched to c++11.
[evaf] / src / plugins / SdiWindow / factory.h
1 /**
2 * @file SdiWindow/factory.h
3 * @brief SDI module's factory class
4 * @author Enar Vaikene
5 *
6 * Copyright (c) 2011-2019 Enar Vaikene
7 *
8 * This file is part of the eVaf C++ cross-platform application development framework.
9 *
10 * This file can be used under the terms of the GNU General Public License
11 * version 3.0 as published by the Free Software Foundation and appearing in
12 * the file LICENSE included in the packaging of this file. Please review the
13 * the following information to ensure the GNU General Public License version
14 * 3.0 requirements will be met: http://www.gnu.org/copyleft/gpl.html.
15 *
16 * Alternatively, this file may be used in accordance with the Commercial License
17 * Agreement provided with the Software.
18 */
19
20 #ifndef __SDIWINDOW_FACTORY_H
21 # define __SDIWINDOW_FACTORY_H
22
23 #include "version.h"
24 #include <Plugins/iPluginFactory>
25 #include <QScopedPointer>
26
27 namespace eVaf {
28
29 /**
30 * Module that implements the Single Document Interface.
31 *
32 * Use this module as the main window for SDI applications.
33 */
34 namespace SdiWindow {
35
36 /**
37 * Internal implementation of the module.
38 */
39 namespace Internal {
40 class SdiWindowPlugin;
41 } // namespace eVaf::SdiWindow::Internal
42
43
44 /**
45 * Plugin factory class for the module
46 */
47 class Factory : public Plugins::iPluginFactory
48 {
49 Q_OBJECT
50 Q_INTERFACES(eVaf::Plugins::iPluginFactory)
51 Q_PLUGIN_METADATA(IID VER_MODULE_NAME_STR)
52
53 public:
54
55 Factory();
56
57 virtual ~Factory();
58
59 virtual QObject * create(QString const & name);
60
61
62 private: // Members
63
64 QScopedPointer<Internal::SdiWindowPlugin> mPlugin;
65
66 };
67
68 } // namespace eVaf::SdiWindow
69 } // namespace eVaf
70
71 #endif // factory.h