Arbiter
Dependency manager library that supports decentralization
Public Attributes | List of all members
ArbiterResolverBehaviors Struct Reference

User-provided behaviors for how dependency resolution should work. More...

Collaboration diagram for ArbiterResolverBehaviors:
[legend]

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...
 

Detailed Description

User-provided behaviors for how dependency resolution should work.

Definition at line 28 of file Resolver.h.

Member Data Documentation

§ createAvailableVersionsList

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.

§ createDependencyList

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.

§ createSelectedVersionForMetadata

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.


The documentation for this struct was generated from the following file: