/* * Copyright (c) 2010,2011 - RZ Uni Freiburg * Copyright (c) 2010,2011 - OpenSLX Project * * This program/file is free software distributed under the GPL version 2. * See http://openslx.org/COPYING * * If you have any feedback please consult http://openslx.org/feedback and * send your feedback to feedback@openslx.org * * General information about OpenSLX can be found under http://openslx.org * * * Custom fbgui interface for javascript. * */ #ifndef JAVASCRIPTINTERFACEFBGUI_H_ #define JAVASCRIPTINTERFACEFBGUI_H_ #include "javascriptinterface.h" class JavascriptInterfaceFBGUI : public JavascriptInterface { Q_OBJECT public: JavascriptInterfaceFBGUI(QWebFrame* parent); virtual ~JavascriptInterfaceFBGUI(); public slots: // slots for calling from the webpage void startDownload(const QString& filename); void setCallbackOnFinished(const QString& function); const QString getSysInfo(const QString& info); // callback when downloads are done. void callbackOnFinished(); // slots for information exchange with the download manager. void updateProgressBar(const int& percent, const double& speed, const QString& unit); void downloadInfo(const QString& filename, const double& filesize); private: // function to be called withint javascript when downloads are done. QString _callbackOnDownloadsFinished; signals: // request the file from download manager void requestFile(const QString& filename); }; #endif /* JAVASCRIPTINTERFACEFBGUI_H_ */