18 #ifndef KRADIO_KRADIOAPP_H 19 #define KRADIO_KRADIOAPP_H 25 #include <QtCore/QMap> 28 #include <kapplication.h> 54 typedef PluginBase *(*t_kradio_plugin_init_func)(
const QString & cls,
const QString &instanceID,
const QString &obj);
58 #ifdef KRADIO_ENABLE_FIXMES 59 #warning "FIXME: switch to KPluginFactory stuff" 69 PluginLibraryInfo() : library(NULL), init_func(NULL), info_func(NULL), libload_func(NULL), libunload_func(NULL) {}
73 bool valid() {
return init_func && info_func && library.isLoaded() && libload_func &&
libunload_func; }
87 : class_name(_name), description(descr), create_function(init_func) {}
88 PluginBase *
CreateInstance(
const QString &instanceID,
const QString &obj_name) {
return create_function ? create_function(class_name, instanceID, obj_name) : NULL; }
99 virtual void saveState (KConfig *c);
100 virtual void restoreState (KConfig *c);
102 virtual PluginManager *createNewInstance(
const QString &name);
104 virtual void LoadLibrary (
const QString &
library);
105 virtual void UnloadLibrary (
const QString &library);
106 virtual PluginBase *CreatePlugin (
PluginManager *manager,
const QString &instanceID,
const QString &pclass,
const QString &object_name);
108 virtual const QMap<QString, PluginLibraryInfo> &
getPluginLibraries()
const {
return m_PluginLibraries; }
109 virtual const QMap<QString, PluginClassInfo> &
getPluginClasses()
const {
return m_PluginInfos; }
111 virtual void startPlugins();
113 virtual bool quitting()
const {
return m_quitting; }
117 #ifdef KRADIO_ENABLE_FIXMES 118 #warning: FIXME: implement qsessionmanagement stuff 120 virtual void saveState( QSessionManager& sm ) { KApplication::saveState(sm); }
121 virtual void saveState();
122 virtual void slotAboutToQuit();
virtual const QMap< QString, PluginLibraryInfo > & getPluginLibraries() const
virtual void saveState(QSessionManager &sm)
void(* t_kradio_plugin_libunload_func)()
QMap< QString, PluginLibraryInfo > m_PluginLibraries
QMap< QString, QString > plugins
PluginBase *(* t_kradio_plugin_init_func)(const QString &cls, const QString &instanceID, const QString &obj)
t_kradio_plugin_info_func info_func
PluginLibraryInfo & operator=(const PluginLibraryInfo &)
t_kradio_plugin_libload_func libload_func
QMap< QString, PluginClassInfo > m_PluginInfos
void(* t_kradio_plugin_info_func)(QMap< QString, QString > &)
t_kradio_plugin_libunload_func libunload_func
t_kradio_plugin_init_func init_func
QMap< QString, PluginManager * > m_Instances
PluginClassInfo(const QString &_name, const QString &descr, t_kradio_plugin_init_func init_func)
t_kradio_plugin_init_func create_function
void(* t_kradio_plugin_libload_func)()
virtual const QMap< QString, PluginClassInfo > & getPluginClasses() const
PluginBase * CreateInstance(const QString &instanceID, const QString &obj_name)
virtual bool quitting() const