10 #include "bnb/scene/interfaces/scene.hpp"
11 #include <bnb/utils/defs.hpp>
16 namespace bnb {
namespace interfaces {
25 virtual std::string url() = 0;
33 virtual void call_js_method(
const std::string & method_name,
const std::string & params) = 0;
40 virtual void eval_js(
const std::string & script,
const std::shared_ptr<js_callback> & result_callback) = 0;
48 virtual std::string eval_js_sync(
const std::string & script) = 0;
54 virtual void reset() = 0;
60 virtual void update() = 0;
68 virtual std::shared_ptr<::bnb::interfaces::scene> scene() = 0;
74 virtual void deserialize(
const std::string & resolved_url) = 0;
80 virtual void activate(int32_t fx_width, int32_t fx_height, int32_t surface_width, int32_t surface_height) = 0;
82 virtual void dump_fs(
const std::string & out_dir) = 0;
84 virtual void dump() = 0;
86 virtual std::string dump_json() = 0;