1
#ifndef PLUGINMANAGER_H
2
#define PLUGINMANAGER_H
9
#include "optionstree.h"
24
class PluginManager : public QObject
28
static PluginManager* instance();
30
QStringList availablePlugins();
32
void addAccount( const PsiAccount* account, XMPP::Client* client);
33
void message( PsiAccount* account, const XMPP::Jid& from,
34
const UserListItem*, const QString& message );
35
bool loadPlugin( const QString& file );
36
void loadEnabledPlugins();
37
bool unloadPlugin( const QString& file );
38
bool unloadAllPlugins();
39
QString pathToPlugin( const QString& plugin );
40
QString shortName( const QString& plugin );
41
QWidget* getOptionsWidget( const QString& plugin );
42
bool processEvent( const PsiAccount* account, QDomElement &event );
44
const QVariant getGlobalOption(const QString& option);
46
static const QString loadOptionPrefix;
47
static const QString pluginOptionPrefix;
50
bool loadPlugin( QObject* pluginObject );
54
void loadAllPlugins();
55
bool verifyStanza(const QString& stanza);
57
static PluginManager* instance_;
60
QMap<QString, PsiPlugin*> plugins_;
62
QMap<QString, QString> shortNames_;
64
QMap<QString, QString> files_;
66
QMap<QString, QPluginLoader*> loaders_;
68
QMap<const PsiAccount*, XMPP::Client*> clients_;
70
QList<QCA::DirWatch*> dirWatchers_;
75
void setPluginOption( const QString&, const QVariant& );
76
void getPluginOption( const QString&, QVariant&);
77
void setGlobalOption( const QString&, const QVariant& );
78
void getGlobalOption( const QString&, QVariant&);
79
void optionChanged(const QString& option);
80
void sendStanza( const PsiAccount* account, const QDomElement& stanza);
81
void sendStanza( const PsiAccount* account, const QString& stanza);