plugin system: plugin management features added (loading and unloading)

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1008 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
beardog_uk 2009-02-05 15:29:43 +00:00
parent bb904ea8e8
commit ba1befd560
7 changed files with 898 additions and 68 deletions

View file

@ -3,37 +3,77 @@
//#include <QFileDialog>
//#include "chat/PopupChatDialog.h"
#include "mainpage.h"
//#include "ui_PeersDialog.h"
class QGroupBox;
#include <QGroupBox>
#include <QString>
#include <QDir>
//class QGroupBox;
class QVBoxLayout;
class QTabWidget;
class QFrame;
class QLabel;
class QTextEdit;
class QSpacerItem;
class QScriptEngine;
class PluginManagerWidget;
class PluginManager;
class PluginsPage : public MainPage
{
Q_OBJECT
Q_OBJECT
public:
/** Default Constructor */
PluginsPage(QWidget *parent = 0);
PluginsPage(QWidget *parent = 0);
/** Default Destructor */
~PluginsPage() ;
virtual ~PluginsPage() ;
public slots:
void loadDone(QString pluginName, QWidget* pluginWidget);
void loadFailed(QString pluginName, QString errorMessage);
void installComplete(QString pluginName);
void installFailed(QString pluginFileName, QString errorMessage);
void unloadPlugin(QString pluginName);
protected:
QVBoxLayout* pluginPageLayout;
QGroupBox* pluginPanel;
QVBoxLayout* pluginPanelLayout;
QVBoxLayout* pluginPageLayout;
QGroupBox* pluginPanel;
QVBoxLayout* pluginPanelLayout;
QTextEdit* errlogConsole;
QTabWidget* pluginTabs ;
// QPushButton* instPlgButton;
// QHBoxLayout* insPlgLay;
// QSpacerItem* instPlgSpacer;
QScriptEngine* engine;
QTabWidget* pluginTabs ;
QVBoxLayout* pmLay;
QFrame* pmFrame;
QSpacerItem* pmSpacer;
QString errorStrLog;
PluginManagerWidget* pluginManagerWidget;
// QFrame* pluginControlsContainer;
PluginManager* pluginManager;
//QScriptEngine* engine;
int loadBinaryPlugins(const QDir directory);//tring& errorString);
int loadScriptPlugins(const QString directory, QString& errorString);
int loadBinaryPlugin(const QString fileName, QString& errorString);
int loadScriptPlugin(const QString dirName, QString& errorString);
};
#endif