UserObject

Trait UserObject 

Source
pub trait UserObject: Sized + 'static {
    const CLASS_NAME: &'static PBStr;

    // Required methods
    fn new(session: Session, ctx: ContextObject) -> Result<Self>;
    fn invoke(
        &mut self,
        mid: MethodId,
        ci: &CallInfoRef<'_>,
    ) -> Result<Option<MethodId>>;
}
Expand description

用户自定义对象抽象

Required Associated Constants§

Source

const CLASS_NAME: &'static PBStr

类名(小写)

Required Methods§

Source

fn new(session: Session, ctx: ContextObject) -> Result<Self>

创建对象

Source

fn invoke( &mut self, mid: MethodId, ci: &CallInfoRef<'_>, ) -> Result<Option<MethodId>>

接口调用

§Returns
  • 调用的方法ID被处理后返回Ok(None)
  • 调用的方法ID未处理则返回Ok(Some(mid)),mid为最后一个方法ID的偏移,此设计用于实现继承

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§