]> vaikene.ee Git - evaf/blob - src/plugins/Test/factory.h
Ported to Qt5
[evaf] / src / plugins / Test / factory.h
1 /**
2 * @file plugins/Test/factory.h
3 * @brief eVaf test plugin factory
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 __TEST_FACTORY_H
21 #define __TEST_FACTORY_H
22
23 #include "version.h"
24
25 #include <Plugins/iPluginFactory>
26
27 namespace eVaf {
28
29 /**
30 * Module for testing the eVaf application framework.
31 */
32 namespace Test {
33
34 /**
35 * Internal implementation of the test module.
36 */
37 namespace Internal {
38 class TestPlugin;
39 } // namespace eVaf::Test::Internal
40
41
42 /**
43 * Plugin factory class for the test plugin
44 */
45 class Factory : public Plugins::iPluginFactory
46 {
47 Q_OBJECT
48 Q_INTERFACES(eVaf::Plugins::iPluginFactory)
49 Q_PLUGIN_METADATA(IID VER_MODULE_NAME_STR)
50
51 public:
52
53 Factory();
54
55 virtual ~Factory();
56
57 virtual QObject * create(QString const & name);
58
59
60 private: // Members
61
62 Internal::TestPlugin * mTest;
63
64 };
65
66 } // namespace eVaf::Test
67 } // namespace eVaf
68
69 #endif // factory.h