sig
type splitstays = LeftStays | RightStays
and splitorder = Incubator.splitstays * int
and joinorder = FirstLeft | FirstRight
exception Not_a_ligand
module Procunit :
sig
exception Already_configured
class virtual t :
object
method virtual click : unit -> bool
method extract_ligand : Ligand.t
method virtual get_initial_lbprojs : unit -> bool array
method virtual get_initial_sbprojs : unit -> bool array
method lb_change_string : int -> string -> unit
method virtual lb_get_marker : int -> Ligand.Matcher.matcher
method lb_join : int -> int -> Incubator.joinorder -> unit
method lb_release : int -> unit
method lb_set_act : int -> bool -> unit
method lb_split : int -> int -> Incubator.splitorder -> unit
method lb_synth_string : int -> string -> unit
method lb_transfer : int -> int -> unit
method virtual lb_unimate : int -> string -> unit
method virtual lb_unirelease : int -> unit
method notify : unit -> unit
method virtual sb_get_marker : int -> Ligand.Matcher.snippet
method sb_release : int -> unit
method sb_set_act : int -> bool -> unit
method virtual sb_unimate : int -> string -> unit
method virtual sb_unirelease : int -> unit
method set_notifier : Incubator.Procunit.notifier -> unit
end
class virtual notifier :
object
method virtual lb_change_string : int -> string -> unit
method virtual lb_join : int -> int -> Incubator.joinorder -> unit
method virtual lb_release : int -> unit
method virtual lb_set_act : int -> bool -> unit
method virtual lb_split :
int -> int -> Incubator.splitorder -> unit
method virtual lb_synth_string : int -> string -> unit
method virtual lb_transfer : int -> int -> unit
method virtual notify : unit -> unit
method virtual sb_release : int -> unit
method virtual sb_set_act : int -> bool -> unit
end
type typeA_proj = {
matcher : Ligand.Matcher.matcher;
initially_active : bool;
func : Incubator.Procunit.notifier -> string -> unit;
}
and typeA_conf = Incubator.Procunit.typeA_proj array
val make_typeA_pu :
Incubator.Procunit.typeA_conf -> Incubator.Procunit.t
end
type resident
class t :
object
method add_ligand : Ligand.t -> Incubator.resident
method add_procunit : Incubator.Procunit.t -> Incubator.resident
method break : unit -> unit
method is_running : unit -> bool
method list_ligands : Incubator.resident list
method remove : Incubator.resident -> unit
method resident_to_ligand : Incubator.resident -> Ligand.t
method run : unit -> unit
end
end