64 bool initialize(OperationMode mode = OperationMode::Direct,
int server_port = 9090)
noexcept;
71 bool eval(
const std::string& code);
78 bool eval_file(
const std::string& filepath);
84 void start_server(
int port = 9090);
95 [[nodiscard]]
bool is_server_running()
const;
102 void* get_symbol_address(
const std::string& name);
108 std::vector<std::string> get_defined_symbols();
114 void add_include_path(
const std::string& path);
120 void add_compile_flag(
const std::string& flag);
126 void on_success(std::function<
void()> callback);
132 void on_error(std::function<
void(
const std::string&)> callback);
138 void on_server_client_connected(std::function<
void(
const ClientInfo&)> callback);
144 void on_server_client_disconnected(std::function<
void(
const ClientInfo&)> callback);
150 void on_server_started(std::function<
void()> callback);
156 [[nodiscard]] std::string get_last_error()
const;
162 [[nodiscard]] OperationMode get_current_mode()
const;
172 bool initialize_interpreter();
173 bool initialize_server(
int port);
175 std::expected<std::string, std::string> handle_server_message(std::string_view message);
182 static std::string escape_json(
const std::string& str);