Much work, using Qt 6.10 on Linux for better https support
This commit is contained in:
@@ -32,10 +32,10 @@ void rkt_webview_init()
|
||||
}
|
||||
}
|
||||
|
||||
int rkt_webview_create(rktwebview_t parent, event_cb_t js_event_cb)
|
||||
int rkt_webview_create(rktwebview_t parent, event_cb_t js_event_cb, const char *optional_server_cert_pem)
|
||||
{
|
||||
rkt_webview_init();
|
||||
return handler->rktWebViewCreate(parent, js_event_cb);
|
||||
return handler->rktWebViewCreate(parent, js_event_cb, optional_server_cert_pem);
|
||||
}
|
||||
|
||||
void rkt_webview_close(rktwebview_t wv)
|
||||
@@ -66,10 +66,10 @@ result_t rkt_webview_run_js(rktwebview_t wv, const char *js)
|
||||
return r;
|
||||
}
|
||||
|
||||
rkt_js_result_t *rkt_webview_call_js(rktwebview_t wv, const char *js)
|
||||
rkt_data_t *rkt_webview_call_js(rktwebview_t wv, const char *js)
|
||||
{
|
||||
rkt_webview_init();
|
||||
rkt_js_result_t *r = handler->rktCallJs(wv, js);
|
||||
rkt_data_t *r = handler->rktCallJs(wv, js);
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -95,22 +95,6 @@ void rkt_webview_process_events(int for_ms)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
result_t rkt_webview_destroy_event(rkt_event_t *e)
|
||||
{
|
||||
free(e->event);
|
||||
free(e);
|
||||
return result_t::oke;
|
||||
}
|
||||
|
||||
result_t rkt_webview_destroy_js_result(rkt_js_result_t *r)
|
||||
{
|
||||
free(r->value);
|
||||
free(r);
|
||||
return result_t::oke;
|
||||
}
|
||||
|
||||
|
||||
result_t rkt_webview_move(rktwebview_t wv, int x, int y)
|
||||
{
|
||||
rkt_webview_init();
|
||||
@@ -184,19 +168,19 @@ result_t rkt_webview_set_title(rktwebview_t wv, const char *title)
|
||||
return handler->rktWindowSetTitle(wv, title);
|
||||
}
|
||||
|
||||
rkt_js_result_t *rkt_webview_choose_dir(rktwebview_t w, const char *title, const char *base_dir)
|
||||
rkt_data_t *rkt_webview_choose_dir(rktwebview_t w, const char *title, const char *base_dir)
|
||||
{
|
||||
rkt_webview_init();
|
||||
return handler->rktChooseDir(w, title, base_dir);
|
||||
}
|
||||
|
||||
rkt_js_result_t *rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts)
|
||||
rkt_data_t *rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts)
|
||||
{
|
||||
rkt_webview_init();
|
||||
return handler->rktFileOpen(w, title, base_dir, permitted_exts);
|
||||
}
|
||||
|
||||
rkt_js_result_t *rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts)
|
||||
rkt_data_t *rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts)
|
||||
{
|
||||
rkt_webview_init();
|
||||
return handler->rktFileSave(w, title, base_dir, permitted_exts);
|
||||
@@ -207,3 +191,31 @@ void rkt_webview_set_ou_token(rktwebview_t wv, const char *token)
|
||||
rkt_webview_init();
|
||||
handler->rktSetOUToken(wv, token);
|
||||
}
|
||||
|
||||
void rkt_webview_free_data(rkt_data_t *d)
|
||||
{
|
||||
if (d->kind == version) {
|
||||
free(d);
|
||||
} else if (d->kind == event) {
|
||||
free(d->data.event.event);
|
||||
free(d);
|
||||
} else if (d->kind == js_result) {
|
||||
free(d->data.js_result.value);
|
||||
free(d);
|
||||
} else {
|
||||
fprintf(stderr, "UNEXPECTED: data kind %d cannot be freed\n", d->kind);
|
||||
}
|
||||
}
|
||||
|
||||
rkt_data_t *rkt_webview_version()
|
||||
{
|
||||
rkt_data_t *d = static_cast<rkt_data_t *>(malloc(sizeof(rkt_data_t)));
|
||||
d->kind = version;
|
||||
d->data.version.api_major = RKT_WEBVIEW_API_MAJOR;
|
||||
d->data.version.api_minor = RKT_WEBVIEW_API_MINOR;
|
||||
d->data.version.api_patch = RKT_WEBVIEW_API_PATCH;
|
||||
d->data.version.qt_major = QT_VERSION_MAJOR;
|
||||
d->data.version.qt_minor = QT_VERSION_MINOR;
|
||||
d->data.version.qt_patch = QT_VERSION_PATCH;
|
||||
return d;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user