Module Mc2_core__Plugin.Factory
type plugin
= t
type t
=
|
Factory :
{
name : string;
priority : int;
how prioritary this plugin is. The lower, the earlier this plugin is loaded. NOTE: if plugin
b
requires services provided by plugina
, then we need to ensurea.priority < b.priority
requires : 'a service_key_list;
list of required services
build : Mc2_core__.Solver_types.plugin_id -> 'a service_list -> plugin;
builder, taking:
- the unique ID of the plugin
- the list of services required by
requires
}
-> t
A plugin factory, i.e. the method to build a plugin with a given ID.
val compare : t -> t -> int
val make : ?priority:int -> name:string -> requires:'a service_key_list -> build:(Mc2_core__.Solver_types.plugin_id -> 'a service_list -> plugin) -> unit -> t