Arbiter
Dependency manager library that supports decentralization
|
User-provided behaviors for how dependency resolution should work. More...
Public Attributes | |
struct ArbiterSelectedVersionList *(* | createAvailableVersionsList )(const ArbiterResolver *resolver, const struct ArbiterProjectIdentifier *project, char **error) |
Requests the list of versions available for a given project. More... | |
struct ArbiterDependencyList *(* | createDependencyList )(const ArbiterResolver *resolver, const struct ArbiterProjectIdentifier *project, const struct ArbiterSelectedVersion *selectedVersion, char **error) |
Requests the list of dependencies needed by a specific version of a project. More... | |
struct ArbiterSelectedVersion *(* | createSelectedVersionForMetadata )(const ArbiterResolver *resolver, const void *metadata) |
Requests the selected version which corresponds to the given metadata. More... | |
User-provided behaviors for how dependency resolution should work.
Definition at line 28 of file Resolver.h.
struct ArbiterSelectedVersionList*(* ArbiterResolverBehaviors::createAvailableVersionsList) (const ArbiterResolver *resolver, const struct ArbiterProjectIdentifier *project, char **error) |
Requests the list of versions available for a given project.
Returns a version list, or NULL if an error occurs. Arbiter will be responsible for freeing the returned version list object. If returning NULL, error
may be set to a string describing the error which occurred, in which case Arbiter will be responsible for freeing the string.
Definition at line 49 of file Resolver.h.
struct ArbiterDependencyList*(* ArbiterResolverBehaviors::createDependencyList) (const ArbiterResolver *resolver, const struct ArbiterProjectIdentifier *project, const struct ArbiterSelectedVersion *selectedVersion, char **error) |
Requests the list of dependencies needed by a specific version of a project.
Returns a dependency list, or NULL if an error occurs. Arbiter will be responsible for freeing the returned dependency list object. If returning NULL, error
may be set to a string describing the error which occurred, in which case Arbiter will be responsible for freeing the string.
Definition at line 39 of file Resolver.h.
struct ArbiterSelectedVersion*(* ArbiterResolverBehaviors::createSelectedVersionForMetadata) (const ArbiterResolver *resolver, const void *metadata) |
Requests the selected version which corresponds to the given metadata.
This behavior can be used to implement lookup of versions which are not known in advance (i.e., those which would not appear in the result of createAvailableVersionsList
). For example, it is impractical to list all commit hashes from a version control system, but they could be looked up by hash here.
This behavior is optional, and may be set to NULL if unsupported or unnecessary.
Returns a selected version, or NULL if one corresponding to the metadata could not be found.
Definition at line 66 of file Resolver.h.