Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Std.BundleProgram Bundle.
Bundle is a collection of data associated with a program. To access the bundle, use the main_bundle function, e.g.,
open Bap_bundle.Std
let bundle = main_bundle ()type t = bundleget_file ?name bundle uri extracts a file.
Extracts a file specified by a uri from a bundle and returns a uri pointing to the extracted file, if was found. The optional parameter name allows to specify the desired filename for the extraction.
val get_data : t -> string -> string optionget_data bundle path extracts data specified by a path as a string.
val list : t -> string listlist bundle returns a list of paths, that are accessible in the bundle.
update_manifest bundle ~f update program manifest with function f.
insert_files bundle spec bundle files.
The spec is a list of pairs, where the first constituent of a pair is a desired path of the file in the bundle, and the second constituent is the uri of the file, that should be inserted. If the first element of the pair is None, then the file will be inserted under the same path, as it was in the file system.
insert_file ?name bundle uri insert a file specified by the uri. If name is specified, then the file will be stored under the specified name in the bundle.
val insert_data : t -> name:string -> data:string -> unitinsert_data bundle ~name ~data insert data at path name.
val update :
t ->
f:
(string ->
[ `Drop | `Copy | `Proc of string -> unit | `Map of string -> string ]) ->
unitupdate bundle ~f:action add, remove or update data in the bundle.
This is a swiss-knife function, that can do arbitrary bundle modification. See get_file, get_data, insert_files, insert_file and insert_data for an easier to use interface.
The action function is called on each path, and must return one of the following:
`Drop - to remove the path from the bundle;`Copy - to keep it untouched;`Proc f - extract it, process the file with a function f, and put back, where function f accepts a temporary name of extracted file;`Map f - map the contents of the file with function f.Warning. Modification of a bundle, associated with an installed plugin or application will lead to an undefined behavior. The function is intended for building a new bundle. Once it is created it may be sealed and made readonly.
module Builder : sig ... endIncremental bundle builder.