type 'a method_spec = {
cmd : Runtime__.Type_description.Types.objc_selector Ctypes.structure
Ctypes.ptr;
typ : 'a Ctypes.fn;
imp : Runtime__.Type_description.Types.objc_object Ctypes.structure Ctypes.ptr ->
Runtime__.Type_description.Types.objc_selector Ctypes.structure Ctypes.ptr ->
'a;
enc : string;
runtime_lock : bool;
thread_registration : bool;
}
type 'a ivar_spec = {
name : string;
typ : 'a Ctypes.typ;
enc : string;
}
type 'a prop_spec = {
name : string;
typ : 'a Objc_type.t;
retain : bool;
copy : bool;
readonly : bool;
notify_change : bool;
}
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'