Up

module Apps

: sig

Support for 0install apps

#
type app = Support.Common.filepath
#
type app_times = {
# last_check_time
: float;
# last_check_attempt
: float option;
# last_solve
: float;
}
#
val create_app : General.config -> string -> Requirements.t -> app

Create a new app with these requirements. You should call set_selections immediately after this.

#
val destroy : General.config -> app -> unit

Remove this app and any shell command created with integrate_shell.

#
val lookup_app : General.config -> string -> app option
#
val get_requirements : Support.Common.system -> app -> Requirements.t
#
val set_requirements : General.config -> app -> Requirements.t -> unit
#
val get_history : General.config -> app -> string list

Get the dates of the available snapshots, starting with the most recent. Used by the "0install whatchanged" command.

#
val get_times : Support.Common.system -> app -> app_times
#
val get_selections_no_updates : Support.Common.system -> app -> Selections.t

Get the current selections. Does not check whether they're still valid.

Raises Safe_exception if they're missing.
#
val get_selections_may_update : < config : General.config; distro : Distro.distribution; make_fetcher : Progress.watcher -> Fetch.fetcher; ui : Ui.ui_handler; .. > -> app -> Selections.t Lwt.t

Get the current selections. If they're missing or unusable, start a solve to get them. If they're usable but stale, spawn a background update but return immediately.

#
val set_selections : General.config -> app -> Selections.t -> touch_last_checked:bool -> unit
#
val integrate_shell : General.config -> app -> string -> unit

Place an executable in $PATH that will launch this app.

#
val set_last_checked : Support.Common.system -> app -> unit

Mark the app as up-to-date.

#
val list_app_names : General.config -> string list
end