dRonin  adbada4
dRonin GCS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
iplugin.h
Go to the documentation of this file.
1 
13 /*
14  * This program is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful, but
20  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  * for more details.
23  *
24  * You should have received a copy of the GNU General Public License along
25  * with this program; if not, see <http://www.gnu.org/licenses/>
26  */
27 
28 #ifndef IPLUGIN_H
29 #define IPLUGIN_H
30 
31 #include "extensionsystem_global.h"
32 
33 #include <QtCore/QObject>
34 
35 namespace ExtensionSystem {
36 
37 namespace Internal {
38  class IPluginPrivate;
39  class PluginSpecPrivate;
40 }
41 
42 class PluginManager;
43 class PluginSpec;
44 
45 class EXTENSIONSYSTEM_EXPORT IPlugin : public QObject
46 {
47  Q_OBJECT
48 
49 public:
50  IPlugin();
51  virtual ~IPlugin();
52 
53  virtual bool initialize(const QStringList &arguments, QString *errorString) = 0;
54  virtual void extensionsInitialized() = 0;
55  virtual void shutdown() { }
56 
57  PluginSpec *pluginSpec() const;
58 
59  void addObject(QObject *obj);
60  void addAutoReleasedObject(QObject *obj);
61  void removeObject(QObject *obj);
62 
63 private:
65 
67 };
68 
69 } // namespace ExtensionSystem
70 
71 #endif // IPLUGIN_H
Core plugin system that manages the plugins, their life cycle and their registered objects...
Definition: pluginmanager.h:53
Contains the information of the plugins xml description file and information about the plugin's curre...
Definition: pluginspec.h:63
Base class for all plugins.
Definition: iplugin.h:45
virtual void shutdown()
Definition: iplugin.h:55