---
name: "Cupt::System::Resolver"
section: "3pm"
platform: "linux"
package: "libcupt-perl"
version: "1.5.14.1"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/Cupt::System::Resolver"
---

# Cupt::System::Resolver(3pm)

base class for Cupt resolvers

## NAME

Cupt::System::Resolver - base class for Cupt resolvers

## METHODS

### new

creates new Cupt::System::Resolver object

Parameters:

*config* - reference to Cupt::Config

*cache* - reference to Cupt::Cache

### cache

returns reference to Cupt::Cache

### config

returns reference to Cupt::Config

### import\_installed\_versions

method, imports already installed versions, usually used in pair with &Cupt::System::State::export\_installed\_versions

Should be re-implemented by derived classes.

Parameters:

*ref\_versions* - reference to array of Cupt::Cache::BinaryVersion

### install\_version

method, installs a new version with requested dependencies

Should be re-implemented by derived classes.

Parameters:

*version* - reference to Cupt::Cache::BinaryVersion

### satisfy\_relation\_expression

method, installs all needed versions to satisfy relation expression

Should be re-implemented by derived classes.

Parameters:

*relation\_expression* - see "Relation expression" in Cupt::Cache::Relation

### unsatisfy\_relation\_expression

method, removes all needed versions to make sure that relation expression is not satisfied

Should be re-implemented by derived classes.

Parameters:

*relation\_expression* - see "Relation expression" in Cupt::Cache::Relation

### remove\_package

method, removes a package

Should be re-implemented by derived classes.

Parameters:

*package\_name* - string, name of package to remove

### upgrade

method, schedule upgrade of as much packages in system as possible

Should be re-implemented by derived classes.

### resolve

method, finds a solution for requested actions

Should be re-implemented by derived classes.

Parameters:

*sub\_accept* - reference to subroutine which has to return true if solution is accepted, false if solution is rejected, undef if user abandoned further searches
