LanguageBridge

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>;
}

Required Methods§

Implementors§