]>
git.saurik.com Git - apt.git/blob - apt-pkg/prettyprinters.cc
2 /* ######################################################################
4 Provide pretty printers for pkgCache structs like PkgIterator
6 ##################################################################### */
8 // Include Files /*{{{*/
11 #include <apt-pkg/depcache.h>
12 #include <apt-pkg/prettyprinters.h>
19 std::ostream
& operator<<(std::ostream
& os
, const APT::PrettyPkg
& pp
) /*{{{*/
21 if (pp
.Pkg
.end() == true)
22 return os
<< "invalid package";
24 std::string current
= (pp
.Pkg
.CurVersion() == 0 ? "none" : pp
.Pkg
.CurVersion());
25 std::string candidate
= (*pp
.DepCache
)[pp
.Pkg
].CandVersion
;
26 std::string newest
= (pp
.Pkg
.VersionList().end() ? "none" : pp
.Pkg
.VersionList().VerStr());
28 os
<< pp
.Pkg
.Name() << " [ " << pp
.Pkg
.Arch() << " ] < " << current
;
29 if (current
!= candidate
)
30 os
<< " -> " << candidate
;
31 if ( newest
!= "none" && candidate
!= newest
)
32 os
<< " | " << newest
;
33 if (pp
.Pkg
->VersionList
== 0)
36 os
<< " > ( " << (pp
.Pkg
.VersionList().Section()==0?"unknown":pp
.Pkg
.VersionList().Section()) << " )";
40 std::ostream
& operator<<(std::ostream
& os
, const APT::PrettyDep
& pd
) /*{{{*/
42 if (unlikely(pd
.Dep
.end() == true))
43 return os
<< "invalid dependency";
45 pkgCache::PkgIterator P
= pd
.Dep
.ParentPkg();
46 pkgCache::PkgIterator T
= pd
.Dep
.TargetPkg();
48 os
<< (P
.end() ? "invalid pkg" : P
.FullName(false)) << " " << pd
.Dep
.DepType()
49 << " on " << APT::PrettyPkg(pd
.DepCache
, T
);
51 if (pd
.Dep
->Version
!= 0)
52 os
<< " (" << pd
.Dep
.CompType() << " " << pd
.Dep
.TargetVer() << ")";