diff options
Diffstat (limited to 'libk3b/plugin/k3bpluginmanager.h')
-rw-r--r-- | libk3b/plugin/k3bpluginmanager.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/libk3b/plugin/k3bpluginmanager.h b/libk3b/plugin/k3bpluginmanager.h new file mode 100644 index 0000000..9295dee --- /dev/null +++ b/libk3b/plugin/k3bpluginmanager.h @@ -0,0 +1,70 @@ +/* + * + * $Id: k3bpluginmanager.h 619556 2007-01-03 17:38:12Z trueg $ + * Copyright (C) 2003 Sebastian Trueg <[email protected]> + * + * This file is part of the K3b project. + * Copyright (C) 1998-2007 Sebastian Trueg <[email protected]> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * See the file "COPYING" for the exact licensing terms. + */ + +#ifndef _K3B_PLUGIN_MANAGER_H_ +#define _K3B_PLUGIN_MANAGER_H_ + +#include <qobject.h> +#include <qptrlist.h> +#include <qstringlist.h> +#include "k3b_export.h" + + +class K3bPlugin; +class QWidget; + + +/** + * Use this class to access all K3b plugins (this does not include the + * KParts Plugins!). + * Like the K3bCore the single instance (which has to be created manually) + * can be obtained with the k3bpluginmanager macro. + */ +class LIBK3B_EXPORT K3bPluginManager : public QObject +{ + Q_OBJECT + + public: + K3bPluginManager( QObject* parent = 0, const char* name = 0 ); + ~K3bPluginManager(); + + /** + * if group is empty all plugins are returned + */ + QPtrList<K3bPlugin> plugins( const QString& group = QString::null ) const; + + /** + * Returnes a list of the available groups. + */ + QStringList groups() const; + + int pluginSystemVersion() const; + + public slots: + /** + * Loads all plugins from the ressource directories. + */ + void loadAll(); + + void loadPlugin( const QString& fileName ); + + int execPluginDialog( K3bPlugin*, QWidget* parent = 0, const char* name = 0 ); + + private: + class Private; + Private* d; +}; + +#endif |