]> vaikene.ee Git - evaf/blob - src/plugins/SdiWindow/factory.h
78b2f72bf18f54dd1fe6382e72bc4d6c13da4e47
[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 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
26 namespace eVaf {
27
28 /**
29 * Module that implements the Single Document Interface.
30 *
31 * Use this module as the main window for SDI applications.
32 */
33 namespace SdiWindow {
34
35 /**
36 * Internal implementation of the module.
37 */
38 namespace Internal {
39 class SdiWindowPlugin;
40 } // namespace eVaf::SdiWindow::Internal
41
42
43 /**
44 * Plugin factory class for the module
45 */
46 class Factory : public Plugins::iPluginFactory
47 {
48 Q_OBJECT
49 Q_INTERFACES(eVaf::Plugins::iPluginFactory)
50 Q_PLUGIN_METADATA(IID VER_MODULE_NAME_STR)
51
52 public:
53
54 Factory();
55
56 virtual ~Factory();
57
58 virtual QObject * create(QString const & name);
59
60
61 private: // Members
62
63 Internal::SdiWindowPlugin * mPlugin;
64
65 };
66
67 } // namespace eVaf::SdiWindow
68 } // namespace eVaf
69
70 #endif // factory.h