#ifndef RKTWEBVIEW_QT_H #define RKTWEBVIEW_QT_H #include "rktwebview_qt_global.h" #include "rktwebview_internal.h" #include #include #include #include #include #include #include class WebViewQt; class WebviewWindow; class Command; class RKTWEBVIEW_QT_EXPORT Rktwebview_qt : public QObject { Q_OBJECT private: QApplication *_app; rktwebview_t _current_handle; QHash _views; QHash _view_js_callbacks; QQueue _command_queue; QTimer _process_commands; Rktwebview_qt **_handler; int _argc; char *_argv[1]; public slots: void processCommands(); public: void removeView(int id); public: int nextHandle(); public: int rktWebViewCreate(int parent, void(*js_evt_cb)(const char *msg)); void rktWebViewClose(int wv); void rktQuit(); void runJs(rktwebview_t wv, const char *js); item_t callJs(rktwebview_t wv, const char *js); void setHtml(rktwebview_t wv, const char *html); void navigate(rktwebview_t wv, const char *url); result_t rktSetUrl(rktwebview_t wv, const char *url); public: // Events for the backend void pageLoaded(rktwebview_t w, bool ok); public: void triggerEvent(rktwebview_t wv, const QString &msg); public: void doEvents(); public: void runCommandThread(); public: Rktwebview_qt(Rktwebview_qt **handler); }; #endif // RKTWEBVIEW_QT_H