BALL 1.5.0
Loading...
Searching...
No Matches
pluginHandler.h
Go to the documentation of this file.
1#ifndef BALL_PLUGIN_PLUGINHANDLER_H
2#define BALL_PLUGIN_PLUGINHANDLER_H
3
4
5#ifndef BALL_COMMON_GLOBAL_H
6# include <BALL/COMMON/global.h>
7#endif
8
9#include <list>
10#include <QtCore/QReadWriteLock>
11
12namespace BALL
13{
14 class BALLPlugin;
15
28 {
29 public:
33 virtual ~PluginHandler();
34
43 virtual bool canHandle(BALLPlugin* plugin) const = 0;
44
55 bool startPlugin(BALLPlugin* plugin);
56
64 bool stopPlugin(BALLPlugin* plugin);
65
72 virtual bool isRunning(BALLPlugin* plugin) const;
73
74 protected:
84 virtual bool specificSetup_(BALLPlugin* plugin) = 0;
85
95 virtual bool specificShutdown_(BALLPlugin* plugin) = 0;
96
101 std::list<BALLPlugin*> running_plugins_;
102 private:
103 mutable QReadWriteLock mutex_;
104 };
105}
106
107#endif //BALL_PLUGIN_PLUGINHANDLER_H
108
virtual bool canHandle(BALLPlugin *plugin) const =0
bool stopPlugin(BALLPlugin *plugin)
virtual ~PluginHandler()
virtual bool specificSetup_(BALLPlugin *plugin)=0
std::list< BALLPlugin * > running_plugins_
bool startPlugin(BALLPlugin *plugin)
virtual bool specificShutdown_(BALLPlugin *plugin)=0
virtual bool isRunning(BALLPlugin *plugin) const
#define BALL_EXPORT