Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
module.h
1 #ifndef MODULE_H
2 #define MODULE_H
3 
4 #include <QObject>
5 #include <QMap>
6 #include "Kernel_global.h"
7 
8 namespace Ilwis {
9 
10 class ICommandInfo;
11 struct ExecutionContext;
12 
13 }
14 
15 namespace Ilwis {
16 
17 struct ExecutionContext;
18 class ICommands;
19 class Module;
20 
27 class KERNELSHARED_EXPORT Module : public QObject
28 {
29  Q_OBJECT
30  //Q_INTERFACES(Ilwis::Module)
31 public:
32  explicit Module(QObject *parent, const QString& name, const QString& ivers, const QString& vers);
33  ~Module();
42  QString getInterfaceVersion() const;
47  QString name() const;
53  QString version() const;
60  QString getNameAndVersion() const;
66  virtual void prepare();
67 protected:
68 
69 private:
70  QString _moduleName;
71  QString _interfaceVersion;
72  QString _version;
73 
74 
75 signals:
76 
77 public slots:
78 
79 };
80 
81 
82 class ModuleMap : public QMap<QString, Module *> {
83 public:
84  ~ModuleMap();
85  void addModules();
86  void initModules();
87 private:
88 
89 };
90 }
91 
92 Q_DECLARE_INTERFACE(Ilwis::Module,
93  "n52.org.ilwis.plugin.ilwis.moduleinterface/1.0")
94 
95 
96 
97 
98 
99 
100 #endif // MODULE_H