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