]>
git.saurik.com Git - apt.git/blob - apt-private/private-output.h
1 #ifndef APT_PRIVATE_OUTPUT_H
2 #define APT_PRIVATE_OUTPUT_H
4 #include <apt-pkg/configuration.h>
5 #include <apt-pkg/pkgcache.h>
6 #include <apt-pkg/macros.h>
13 // forward declaration
20 APT_PUBLIC
extern std::ostream c0out
;
21 APT_PUBLIC
extern std::ostream c1out
;
22 APT_PUBLIC
extern std::ostream c2out
;
23 APT_PUBLIC
extern std::ofstream devnull
;
24 APT_PUBLIC
extern unsigned int ScreenWidth
;
26 APT_PUBLIC
bool InitOutput(std::basic_streambuf
<char> * const out
= std::cout
.rdbuf());
28 void ListSingleVersion(pkgCacheFile
&CacheFile
, pkgRecords
&records
,
29 pkgCache::VerIterator
const &V
, std::ostream
&out
,
30 std::string
const &format
);
33 // helper to describe global state
34 APT_PUBLIC
void ShowBroken(std::ostream
&out
, CacheFile
&Cache
, bool const Now
);
35 APT_PUBLIC
void ShowBroken(std::ostream
&out
, pkgCacheFile
&Cache
, bool const Now
);
37 template<class Container
, class PredicateC
, class DisplayP
, class DisplayV
> bool ShowList(std::ostream
&out
, std::string
const &Title
,
38 Container
const &cont
,
41 DisplayV VerboseDisplay
)
43 size_t const ScreenWidth
= (::ScreenWidth
> 3) ? ::ScreenWidth
- 3 : 0;
45 bool const ShowVersions
= _config
->FindB("APT::Get::Show-Versions", false);
46 bool printedTitle
= false;
48 for (auto const &Pkg
: cont
)
50 if (Predicate(Pkg
) == false)
53 if (printedTitle
== false)
59 if (ShowVersions
== true)
61 out
<< std::endl
<< " " << PkgDisplay(Pkg
);
62 std::string
const verbose
= VerboseDisplay(Pkg
);
63 if (verbose
.empty() == false)
64 out
<< " (" << verbose
<< ")";
68 std::string
const PkgName
= PkgDisplay(Pkg
);
69 if (ScreenUsed
== 0 || (ScreenUsed
+ PkgName
.length()) >= ScreenWidth
)
71 out
<< std::endl
<< " ";
74 else if (ScreenUsed
!= 0)
80 ScreenUsed
+= PkgName
.length();
84 if (printedTitle
== true)
92 void ShowNew(std::ostream
&out
,CacheFile
&Cache
);
93 void ShowDel(std::ostream
&out
,CacheFile
&Cache
);
94 void ShowKept(std::ostream
&out
,CacheFile
&Cache
);
95 void ShowUpgraded(std::ostream
&out
,CacheFile
&Cache
);
96 bool ShowDowngraded(std::ostream
&out
,CacheFile
&Cache
);
97 bool ShowHold(std::ostream
&out
,CacheFile
&Cache
);
99 bool ShowEssential(std::ostream
&out
,CacheFile
&Cache
);
101 void Stats(std::ostream
&out
, pkgDepCache
&Dep
);
104 bool YnPrompt(char const * const Question
, bool Default
=true);
105 bool AnalPrompt(std::string
const &Question
, const char *Text
);
107 std::string
PrettyFullName(pkgCache::PkgIterator
const &Pkg
);
108 std::string
CandidateVersion(pkgCacheFile
* const Cache
, pkgCache::PkgIterator
const &Pkg
);
109 std::function
<std::string(pkgCache::PkgIterator
const &)> CandidateVersion(pkgCacheFile
* const Cache
);
110 std::string
CurrentToCandidateVersion(pkgCacheFile
* const Cache
, pkgCache::PkgIterator
const &Pkg
);
111 std::function
<std::string(pkgCache::PkgIterator
const &)> CurrentToCandidateVersion(pkgCacheFile
* const Cache
);
112 std::string
EmptyString(pkgCache::PkgIterator
const &);
113 bool AlwaysTrue(pkgCache::PkgIterator
const &);