6 #include <apt-pkg/algorithms.h>
8 #ifndef EPT_APT_ACTION_H
9 #define EPT_APT_ACTION_H
26 pkgDepCache &dc = pkgs.
db().
state();
31 if ( !pkgs.
exists( m_token ) )
33 pkgCache::PkgIterator p = pkgs.
lookupToken( m_token );
35 pkgProblemResolver fix( &dc );
39 dc.MarkInstall( p,
true );
42 dc.SetReInstall( p,
true );
47 dc.MarkDelete( p, a ==
Purge ?
true :
false );
48 }
else if ( a ==
Keep ) {
51 dc.MarkKeep( p,
true );
62 if ( !pkgs.
exists( m_token ) )
77 : m_token( t ), m_type( a )
82 typedef std::vector< Action >
List;
90 return m_list.empty();
94 List::iterator rm = m_list.end(), i;
95 for ( i = m_list.begin(); i != m_list.end(); ++i ) {
96 if ( i->token() == a.
token() ) {
101 if ( rm != m_list.end() )
104 m_list.push_back( a );
108 return m_list.back();
112 for ( List::iterator i = m_list.begin(); i != m_list.end(); ++i ) {
119 std::swap( l, m_list );
120 for ( List::iterator i = m_list.begin(); i != m_list.end(); ++i ) {
121 if ( !i->redundant( pkgs ) )
122 m_list.push_back( *i );
Definition: core/apt.h:42
pkgDepCache & state()
Definition: core/apt.h:119
bool exists(Token t)
Definition: package.h:44
Type type()
Definition: action.h:21
Action latest()
Definition: action.h:107
Type m_type
Definition: action.h:18
-*- C++ -*- (c) 2006, 2007 Petr Rockai me@mornfall.net
Definition: apt.cc:43
void prune(package::Source &pkgs)
Definition: action.h:117
void replay(package::Source &pkgs)
Definition: action.h:111
void add(Action a)
Definition: action.h:93
Token m_token
Definition: action.h:17
void apply(package::Source &pkgs)
Definition: action.h:23
Token token()
Definition: action.h:20
Action(Token t, Type a)
Definition: action.h:76
bool empty()
Definition: action.h:89
bool installed() const
Definition: core/apt.h:97
Type
Definition: action.h:16
PackageState packageState(pkgCache::PkgIterator P)
Definition: core/apt.h:286
List m_list
Definition: action.h:83
Internal lookupToken(Token t)
Definition: package.h:34
std::vector< Action > List
Definition: action.h:82
bool upgradable() const
Definition: core/apt.h:99
bool redundant(package::Source &pkgs)
Definition: action.h:57
void clear()
Definition: action.h:85
AptDatabase & db()
Definition: package.h:92