umbrello 2.34.70-5524f40e1
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
plugin.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2003 Andrew Sutton <ansutton@kent.edu>
3 Bugs and comments to umbrello-devel@kde.org or https://bugs.kde.org
4*/
5
6#ifndef UMBRELLO_PLUGIN_H
7#define UMBRELLO_PLUGIN_H
8
9// Qt includes
10#include <qobject.h>
11
12// KDE includes
13#include <kgenericfactory.h>
14
15// local includes
16#include "configurable.h"
17
18// forward declarations
19class QStringList;
20class KConfig;
21
36#define UMBRELLO_EXPORT_PLUGIN_FACTORY(libname, factory) \
37 extern "C" { KDE_EXPORT void *init_##libname() { return new factory(#libname); } }
38
39namespace Umbrello
40{
41// forward declarations
42class PluginLoader;
43
74class Plugin :
75 public QObject,
76 public Configurable
77{
78 Q_OBJECT
79 friend class PluginLoader;
80public:
82 virtual ~Plugin();
83
85 QByteArray instanceName() const;
86
88 KConfig *config();
89
91 virtual QString category();
92
98 void unload();
99
100protected:
102 Plugin(QObject *parent, const char *name, const QStringList &args);
103
105 virtual bool onInit();
106
108 virtual bool onShutdown();
109
110private:
119 bool init();
120
128 bool shutdown();
129
138 virtual bool configure();
139
141 void ref();
142
143protected:
144 uint _ref;
145 QByteArray _instanceName;
146 KConfig *_config;
147};
148}
149
150#endif
Definition: configurable.h:53
Definition: pluginloader.h:54
Definition: plugin.h:77
virtual bool onInit()
Definition: plugin.cpp:110
QByteArray _instanceName
Instance name of the plugin.
Definition: plugin.h:145
virtual bool onShutdown()
Definition: plugin.cpp:116
bool shutdown()
Definition: plugin.cpp:81
virtual QString category()
Definition: plugin.cpp:147
Plugin(QObject *parent, const char *name, const QStringList &args)
Definition: plugin.cpp:19
KConfig * _config
Configuration record.
Definition: plugin.h:146
virtual bool configure()
Definition: plugin.cpp:122
QByteArray instanceName() const
Definition: plugin.cpp:98
KConfig * config()
Definition: plugin.cpp:104
void ref()
Definition: plugin.cpp:35
bool init()
Definition: plugin.cpp:59
virtual ~Plugin()
Definition: plugin.cpp:30
uint _ref
Reference counter.
Definition: plugin.h:144
void unload()
Definition: plugin.cpp:41
Definition: configurable.h:24