From b3e8feab0e0cbd4aa403b8e4907665f208c79ee9 Mon Sep 17 00:00:00 2001 From: Niklas Goby Date: Tue, 12 Apr 2011 18:38:15 +0200 Subject: added some comments in according to the doxigen conventions. Some todos are left due to less knowledge about the methods. edited classes are sysinfo and javascriptinterface --- src/javascriptinterface.cpp | 109 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) (limited to 'src/javascriptinterface.cpp') diff --git a/src/javascriptinterface.cpp b/src/javascriptinterface.cpp index 5ef443e..13bcd38 100644 --- a/src/javascriptinterface.cpp +++ b/src/javascriptinterface.cpp @@ -6,18 +6,48 @@ //------------------------------------------------------------------------------------------------------- // Initialisation //------------------------------------------------------------------------------------------------------- +/** + * A constructor. + * + * @param parent + * Is of type QWebFrame. + */ JavascriptInterface::JavascriptInterface(QWebFrame *parent){ qxtLog->debug() << "Initializing javascript interface..."; _parent = parent; } //------------------------------------------------------------------------------------------------------- +/** + * An empty destructor. + */ JavascriptInterface::~JavascriptInterface() { /* destructor dummy */ } //------------------------------------------------------------------------------------------------------- +/** + * Attaches an instance of this class to the DOM of the HTML page. + * + * Attaches an instance of this class to the DOM of the HTML page. + * This enables the possibility to call slots/methods of this class in + * JavaScript functions of HTML page. It also calls the + * JavascriptInterface::loadJQuery() method. + * + * @see JavascriptInterface::loadJQuery() + */ void JavascriptInterface::attachToDOM(){ _parent->addToJavaScriptWindowObject(QString("fbgui"), this); loadJQuery(); } //------------------------------------------------------------------------------------------------------- +/** + * This method load the required jQuery libraries into the HTML page. + * + * This method load the required jQuery libraries into the HTML page. + * The libraries are contained in the fbgui.qrc file. + * The Path to the files is: ":/html/js". + * Each library will be read and loaded into the HTML page via + * the evaluateJavaScript() method. + * + * @see JavascriptInterface::attachToDOM() + */ void JavascriptInterface::loadJQuery(){ QString js; QString pathToJsDir(DEFAULT_QRC_HTML_DIR); @@ -49,6 +79,13 @@ void JavascriptInterface::loadJQuery(){ //------------------------------------------------------------------------------------------------------- // Javascript functions for webpage //------------------------------------------------------------------------------------------------------- +/** + * This method start a download. + * + * This method start a download. + * Can be called from inside a JavaScript function of the HTML page. + * Emits the JavascriptInterface::requestFile(const QString) signal. + */ void JavascriptInterface::startDownload(const QString& filename){ // ignore if empty filename if (filename.isEmpty()){ @@ -58,45 +95,117 @@ void JavascriptInterface::startDownload(const QString& filename){ emit requestFile(filename); } //------------------------------------------------------------------------------------------------------- +/** + * This method start a download. + * + * This method start a download. + * Can be called from inside a JavaScript function of the HTML page. + * + * @todo add some more informations + */ void JavascriptInterface::setCallbackOnFinished(const QString& function){ qxtLog->debug() << "[jsi] Callback set: " << function; _callbackOnDownloadsFinished = QString(function); } //------------------------------------------------------------------------------------------------------- +/** + * This method delivers system informations. + * + * This method delivers system informations. Type of informations, are defined by + * the parameter. The output of this method depends on the parameter. + * Can be called from inside a JavaScript function of the HTML page. + * + * @param infoName + * Is of type QString. Defines which method will be called. Possible values are: + * - mac + * - ip + * - mbserial + * - usb + * + * @return QString + * the output of the called method or "info_error" if an error occurred + * (e. g. invalid parameter). + * + * @see SysInfo::getInfo(const QString& infoName) + */ const QString JavascriptInterface::getSysInfo(const QString& info){ SysInfo si; return si.getInfo(info); } //------------------------------------------------------------------------------------------------------- +/** + * This method quits the whole program. + * + * This method quits the whole program. + * Can be called from inside a JavaScript function of the HTML page. + * Emits JavascriptInterface::quitFbgui() signal + */ void JavascriptInterface::quit(){ emit quitFbgui(); } //------------------------------------------------------------------------------------------------------- // Download Manager information exchange //------------------------------------------------------------------------------------------------------- +/** + * This method delivers some informations about the downloading file. + * + * This method delivers some informations about the downloading file. + * + * @todo add some more informations + */ void JavascriptInterface::downloadInfo(const QString& filename, const double& filesize){ QString code = QString("downloadInfo('\%1', \%2)").arg(filename).arg(filesize); _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- +/** + * This method updates the progress bar. + * + * This method updates the progress bar of the HTML page when an download + * happens. + * + * @todo add some more informations + */ void JavascriptInterface::updateProgressBar(const int& percent, const double& speed, const QString& unit){ if (percent == 0) return; QString code = QString("updateProgress(\%1, \%2, '\%3')").arg(percent).arg(speed).arg(unit); _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- +/** + * This method sends notifications. + * + * @todo add some more informations. + */ void JavascriptInterface::notify(const QString& msg){ qxtLog->debug() << "[jsi] Notifying: " << msg; QString code = QString("notify('\%1')").arg(msg); _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- +/** + * @todo add some more informations + */ void JavascriptInterface::callbackOnFinished(){ QString code = QString("\%1").arg(_callbackOnDownloadsFinished); _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------------------------- +/** + * This method triggers the arriving of the IP address + * + * Used for testing. This method triggers the arriving of the IP address. + * Not needed in the final version since the here simulated event will be + * fired automaticali by the udhcpc command. + * This methods writes some data into a specific file. This file is watched by an + * other process which will fire an event as soon as the file changes. + * + * @see fbgui::watchForTrigger() + * @see fbgui::checkForTrigger(const QString& dirname) + * @see bool fbgui::checkHost() + * @see void fbgui::loadURL() + */ void JavascriptInterface::trigger(){ QFile file(fileToTriggerURL); if (file.open(QIODevice::WriteOnly)){ -- cgit v1.2.3-55-g7522