summaryrefslogtreecommitdiffstats
path: root/src/fbgui/javascriptinterfacefbgui.h
blob: 627bdb4e08f447cf8b96454575d5ef99f1813c9f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * 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_ */