00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #include <iostream> 00013 00014 #include "zypp/Resolver.h" 00015 #include "zypp/UpgradeStatistics.h" 00016 #include "zypp/solver/detail/Resolver.h" 00017 #include "zypp/solver/detail/Testcase.h" 00018 00019 using namespace std; 00020 00022 namespace zypp 00023 { 00024 00025 IMPL_PTR_TYPE(Resolver); 00026 #if 0 00027 Resolver_Ptr Resolver::_resolver = NULL; 00028 Resolver_Ptr Resolver::resolver() 00029 { 00030 if (_resolver == NULL) { 00031 _resolver = new Resolver(); 00032 } 00033 return _resolver; 00034 } 00035 #endif 00037 // 00038 // METHOD NAME : Resolver::Resolver 00039 // METHOD TYPE : Ctor 00040 // 00041 Resolver::Resolver( const ResPool & pool ) 00042 { 00043 _pimpl = new solver::detail::Resolver(pool); 00044 } 00045 00047 // 00048 // METHOD NAME : Resolver::~Resolver 00049 // METHOD TYPE : Dtor 00050 // 00051 Resolver::~Resolver() 00052 {} 00053 00055 // 00056 // Resolver interface forwarded to implementation 00057 // 00059 bool Resolver::verifySystem () 00060 { return _pimpl->verifySystem(false); } 00061 bool Resolver::verifySystem (bool considerNewHardware) 00062 { return _pimpl->verifySystem(considerNewHardware); } 00063 bool Resolver::establishPool () 00064 { return _pimpl->establishPool(); } 00065 bool Resolver::freshenPool () 00066 { return _pimpl->freshenPool(); } 00067 bool Resolver::resolvePool () 00068 { return _pimpl->resolvePool( false ); }// do not try all possibilities 00069 bool Resolver::resolvePool( bool tryAllPossibilities) 00070 { return _pimpl->resolvePool( tryAllPossibilities); } 00071 bool Resolver::resolveDependencies( void ) 00072 { return _pimpl->resolveDependencies( ); } 00073 void Resolver::undo() 00074 { _pimpl->undo(); } 00075 solver::detail::ResolverContext_Ptr Resolver::context (void) const 00076 { return _pimpl->context(); } 00077 ResolverProblemList Resolver::problems () 00078 { return _pimpl->problems (); } 00079 std::list<std::string> Resolver::problemDescription( void ) const 00080 { return _pimpl->problemDescription (); } 00081 void Resolver::applySolutions( const ProblemSolutionList & solutions ) 00082 { _pimpl->applySolutions (solutions); } 00083 void Resolver::doUpgrade( UpgradeStatistics & opt_stats_r ) 00084 { _pimpl->doUpgrade(opt_stats_r); } 00085 Arch Resolver::architecture() const 00086 { return _pimpl->architecture(); } 00087 void Resolver::setArchitecture( const Arch & arch ) 00088 { _pimpl->setArchitecture( arch ); } 00089 void Resolver::setForceResolve( const bool force ) 00090 { _pimpl->setForceResolve( force ); } 00091 const bool Resolver::forceResolve() 00092 { return _pimpl->forceResolve(); } 00093 void Resolver::setPreferHighestVersion( const bool highestVersion ) 00094 { _pimpl->setPreferHighestVersion( highestVersion ); } 00095 const bool Resolver::preferHighestVersion() 00096 { return _pimpl->preferHighestVersion(); } 00097 bool Resolver::transactResObject( ResObject::constPtr robj, bool install) 00098 { return _pimpl->transactResObject( robj, install ); } 00099 bool Resolver::transactResKind( Resolvable::Kind kind ) 00100 { return _pimpl->transactResKind( kind ); } 00101 void Resolver::transactReset( ResStatus::TransactByValue causer ) 00102 { _pimpl->transactReset( causer ); } 00103 void Resolver::addRequire (const Capability & capability) 00104 { _pimpl->addExtraCapability( capability ); } 00105 void Resolver::addConflict (const Capability & capability) 00106 { _pimpl->addExtraConflict( capability ); } 00107 std::list<PoolItem_Ref> Resolver::problematicUpdateItems( void ) const 00108 { return _pimpl->problematicUpdateItems(); } 00109 void Resolver::setTimeout( int seconds ) 00110 { _pimpl->setTimeout( seconds ); } 00111 void Resolver::setMaxSolverPasses (int count) 00112 { _pimpl->setMaxSolverPasses( count ); } 00113 int Resolver::timeout() 00114 { return _pimpl->timeout(); } 00115 int Resolver::maxSolverPasses() 00116 { return _pimpl->maxSolverPasses(); } 00117 bool Resolver::createSolverTestcase (const std::string & dumpPath) 00118 { solver::detail::Testcase testcase (dumpPath); 00119 return testcase.createTestcase(*_pimpl);} 00120 const solver::detail::ItemCapKindList Resolver::isInstalledBy (const PoolItem_Ref item) 00121 { return _pimpl->isInstalledBy (item); } 00122 const solver::detail::ItemCapKindList Resolver::installs (const PoolItem_Ref item) 00123 { return _pimpl->installs (item); } 00124 00125 00127 } // namespace zypp
1.5.3