RetroShare/plugins/PluginInterface.h
defnax 87344de7d4 added for plugins own dir
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1850 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2009-11-28 14:21:11 +00:00

52 lines
1.2 KiB
C++

#ifndef _PLUGIN_INTERFACE_H_
#define _PLUGIN_INTERFACE_H_
#include <QtPlugin>
#include <QString>
/***
QT_BEGIN_NAMESPACE
class QString;
class QWidget;
QT_END_NAMESPACE
***/
//! a base class for plugins
//! All plugin classes must inherite this class and QObject.
class PluginInterface
{
public:
virtual ~PluginInterface() {}
public slots:
//! A description of the plugin
//! A description of the plugin. Is not used in current version.
virtual QString pluginDescription() const = 0;
//! The plugin's name
//! A name serves like an unique ID. The name is used in all operations
//! such as installing, removing, receiving a widget
virtual QString pluginName() const = 0;
//! plugin's widget.
//! Returns the widget, which is actually a plugin. Main application must
//! delete the widget; usually, a parent widget does it. If you want to use
//! the widget as top-level (i.e. parent==0), please, set
//! Qt::WA_DeleteOnClose flag .
virtual QWidget* pluginWidget(QWidget * parent = 0) = 0;
};
QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(PluginInterface,
"com.beardog.retroshare.PluginInterface/1.0")
QT_END_NAMESPACE
#endif