#ifndef AACODE_BROWSER_H
#define AACODE_BROWSER_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct FbWebViewOps {
int64_t (*create)(const char *url, uint32_t width, uint32_t height);
int (*destroy)(int64_t handle);
char *(*evaluate)(int64_t handle, const char *script);
int (*navigate)(int64_t handle, const char *url);
uint8_t *(*screenshot)(int64_t handle, uint32_t *out_w, uint32_t *out_h);
void (*screenshot_free)(uint8_t *ptr);
int (*set_viewport)(int64_t handle, uint32_t width, uint32_t height);
int64_t (*native_view)(int64_t handle);
int (*dispatch_event)(int64_t handle, const char *event_json);
int (*go_back)(int64_t handle);
int (*go_forward)(int64_t handle);
void (*free_string)(char *ptr);
} FbWebViewOps;
int aacode_browser_register_webview_ops(const FbWebViewOps *ops);
int aacode_browser_available(void);
#ifdef __cplusplus
}
#endif
#endif