Trait LanguageBridge
Source pub trait LanguageBridge: Send + Sync {
// Required methods
fn call_function(
&self,
func: FunctionHandle,
args: &[Value],
) -> SolverForgeResult<Value>;
fn get_field(
&self,
obj: ObjectHandle,
field: &str,
) -> SolverForgeResult<Value>;
fn set_field(
&self,
obj: ObjectHandle,
field: &str,
value: Value,
) -> SolverForgeResult<()>;
fn serialize_object(&self, obj: ObjectHandle) -> SolverForgeResult<String>;
fn deserialize_object(
&self,
json: &str,
class_name: &str,
) -> SolverForgeResult<ObjectHandle>;
fn get_class_info(&self, obj: ObjectHandle) -> SolverForgeResult<ClassInfo>;
fn register_function(
&self,
func: ObjectHandle,
) -> SolverForgeResult<FunctionHandle>;
fn clone_object(&self, obj: ObjectHandle) -> SolverForgeResult<ObjectHandle>;
fn get_list_size(&self, obj: ObjectHandle) -> SolverForgeResult<usize>;
fn get_list_item(
&self,
obj: ObjectHandle,
index: usize,
) -> SolverForgeResult<Value>;
}