blob: f81ba737ad76ab85c26415c060c49a8e32f29504 [file] [log] [blame]
/********************************************************************************
* Copyright (c) 2020 Equo
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Guillermo Zunino, Equo - initial implementation
********************************************************************************/
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
typedef struct {
int32_t id;
int32_t port;
uintptr_t args;
} FunctionSt;
const char *cefswt_cefstring_to_java(cef_string_t *cefstring);
void cefswt_close_browser(cef_browser_t *browser, int force);
void cefswt_context_menu_cancel(cef_run_context_menu_callback_t *callback);
char *cefswt_cookie_to_java(cef_cookie_t *cookie);
char *cefswt_cookie_value(cef_cookie_t *cookie);
const cef_browser_t *cefswt_create_browser(void* hwnd,
const char *url,
cef_client_t *client,
int w,
int h,
int js,
cef_color_t bg);
void cefswt_delete_cookies(void);
void cefswt_dialog_close(cef_jsdialog_callback_t *callback, int success, cef_string_t *prompt);
void cefswt_auth_callback(cef_auth_callback_t *callback, const char *user, const char *pass, int cont);
int cefswt_do_message_loop_work(void);
int cefswt_eval(cef_browser_t *browser,
const char *text,
int32_t id,
void (*callback)(int work, int kind, const char *value));
void cefswt_execute(cef_browser_t *browser, const char *text);
void cefswt_free(cef_browser_t *obj);
int cefswt_function(cef_browser_t *browser, const char *name, int32_t id);
int cefswt_function_arg(cef_process_message_t *message,
int32_t index,
void (*callback)(int work, int kind, const char *value));
void cefswt_function_id(cef_process_message_t *message, FunctionSt *st);
int cefswt_function_return(cef_browser_t *_browser,
int32_t _id,
int32_t port,
int32 kind,
const char *ret);
int cefswt_get_cookie(const char *jurl, cef_cookie_visitor_t *jvisitor);
int cefswt_get_id(cef_browser_t *browser);
void cefswt_get_text(cef_browser_t *browser, cef_string_visitor_t *visitor);
char *cefswt_get_url(cef_browser_t *browser);
void cefswt_go_back(cef_browser_t *browser);
void cefswt_go_forward(cef_browser_t *browser);
void cefswt_init(cef_app_t *japp, const char *cefrust_path, const char *cef_path, const char *version, int debug_port);
int32_t cefswt_is_main_frame(cef_frame_t *frame);
int cefswt_is_same(cef_browser_t *browser, cef_browser_t *that);
void cefswt_load_text(cef_browser_t *browser, const char *text);
void cefswt_load_url(cef_browser_t *browser,
const char *url,
const void *post_bytes,
uintptr_t post_size,
const char *headers,
uintptr_t headers_size);
void cefswt_reload(cef_browser_t *browser);
char *cefswt_request_to_java(cef_request_t *request);
void cefswt_resized(cef_browser_t *browser, int32_t width, int32_t height);
int cefswt_set_cookie(const char *jurl,
const char *jname,
const char *jvalue,
const char *jdomain,
const char *jpath,
int32_t secure,
int32_t httponly,
double max_age);
void cefswt_set_focus(cef_browser_t *browser, bool set, void *parent);
void cefswt_set_window_info_parent(cef_window_info_t *window_info,
cef_client_t **client,
cef_client_t *jclient,
void* hwnd,
int x,
int y,
int w,
int h);
void cefswt_shutdown(void);
void cefswt_stop(cef_browser_t *browser);