aboutsummaryrefslogtreecommitdiff
path: root/src/widgets/IWebViewMediator.hpp
blob: a5a8fdb6e29fc52e8f31cbc4d2cc21f28fbba6cd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once

#include "WebViewData.hpp"
#include "widgets/WebView.hpp"

class IWebViewMediator {
public:
  IWebViewMediator() = default;

  virtual bool has_webview(WebViewId webview_id) = 0;
  virtual void open_url(const QUrl &url, OpenType open_type, WebViewId webview_id) = 0;
  virtual void set_html(const QString &html, WebViewId webview_id) = 0;
  virtual void expose_rpc_function(const QString &name, const RpcFunc &action,
                                   WebViewId webview_id) = 0;
  virtual void run_javascript(const QString &js_code, WebViewId webview_id,
                              const JsOnResultFunc &on_result) = 0;
  virtual void reload(WebViewId webview_id) = 0;
};