Module Runtime.Define

type 'a method_spec = {
  1. cmd : Runtime__.Type_description.Types.objc_selector Ctypes.structure Ctypes.ptr;
  2. typ : 'a Ctypes.fn;
  3. imp : Runtime__.Type_description.Types.objc_object Ctypes.structure Ctypes.ptr -> Runtime__.Type_description.Types.objc_selector Ctypes.structure Ctypes.ptr -> 'a;
  4. enc : string;
  5. runtime_lock : bool;
  6. thread_registration : bool;
}
type method_spec' =
  1. | MethodSpec : 'a method_spec -> method_spec'
type 'a ivar_spec = {
  1. name : string;
  2. typ : 'a Ctypes.typ;
  3. enc : string;
}
type ivar_spec' =
  1. | IvarSpec : 'a ivar_spec -> ivar_spec'
type 'a prop_spec = {
  1. name : string;
  2. typ : 'a Objc_type.t;
  3. retain : bool;
  4. copy : bool;
  5. readonly : bool;
  6. notify_change : bool;
}
type prop_spec' =
  1. | PropSpec : 'a prop_spec -> prop_spec'
val method_spec : cmd: Runtime__.Type_description.Types.objc_selector Ctypes.structure Ctypes.ptr -> typ:'a Ctypes.fn -> enc:string -> ?runtime_lock:bool -> ?thread_registration:bool -> (Runtime__.Type_description.Types.objc_object Ctypes.structure Ctypes.ptr -> Runtime__.Type_description.Types.objc_selector Ctypes.structure Ctypes.ptr -> 'a) -> method_spec'
val ivar_spec : name:string -> typ:'a Ctypes.typ -> enc:string -> ivar_spec'
val prop_spec : ?retain:bool -> ?copy:bool -> ?readonly:bool -> ?notify_change:bool -> string -> typ:'a Objc_type.t -> prop_spec'