b0b94a3844b4e46e663f41213f13b53741162cba
[apt.git] / cmdline / cmdline.h
1 // -*- mode: c++; mode: fold -*-
2 #include <apt-pkg/pkgcache.h>
3 #include <apt-pkg/cachefile.h>
4 #include <apt-pkg/algorithms.h>
5 #include <apt-pkg/version.h>
6 #include <apt-pkg/strutl.h>
7 #include <apt-pkg/cmndline.h>
8 #include <apt-pkg/clean.h>
9 #include <apt-pkg/pkgrecords.h>
10 #include <apt-pkg/srcrecords.h>
11
12 #include <fstream>
13 #include <stdio.h>
14
15 using std::ostream;
16 using std::ofstream;
17
18 static ostream c0out(0);
19 static ostream c1out(0);
20 static ostream c2out(0);
21 static ofstream devnull("/dev/null");
22 static unsigned int ScreenWidth = 80;
23
24 bool YnPrompt();
25 bool AnalPrompt(const char *Text);
26 void SigWinch(int);
27
28 const char *op2str(int op);
29
30 class cmdCacheFile : public pkgCacheFile
31 {
32    static pkgCache *SortCache;
33    static int NameComp(const void *a,const void *b);
34
35    public:
36    pkgCache::Package **List;
37    void Sort();
38
39    cmdCacheFile() : List(0) {};
40 };
41
42 class LogCleaner : public pkgArchiveCleaner
43 {
44    protected:
45    virtual void Erase(const char *File,string Pkg,string Ver,struct stat &St);
46
47    public:
48    virtual ~LogCleaner() {};
49 };
50
51
52 bool ShowList(ostream &out,string Title,string List,string VersionsList);
53 void Stats(ostream &out,pkgDepCache &Dep,pkgDepCache::State *State=NULL);
54 void ShowBroken(ostream &out,cmdCacheFile &Cache,bool Now, 
55                 pkgDepCache::State *State=NULL);
56 void ShowNew(ostream &out,cmdCacheFile &Cache, pkgDepCache::State *State=NULL);
57 void ShowDel(ostream &out,cmdCacheFile &Cache, pkgDepCache::State *State=NULL);
58 void ShowKept(ostream &out,cmdCacheFile &Cache, pkgDepCache::State *State=NULL);
59 void ShowUpgraded(ostream &out,cmdCacheFile &Cache, 
60                   pkgDepCache::State *State=NULL);
61 bool ShowDowngraded(ostream &out,cmdCacheFile &Cache, 
62                     pkgDepCache::State *State=NULL);
63 bool ShowHold(ostream &out,cmdCacheFile &Cache, pkgDepCache::State *State=NULL);
64 bool ShowEssential(ostream &out,cmdCacheFile &Cache, pkgDepCache::State *State=NULL);
65
66 bool cmdDoClean(CommandLine &CmdL);
67
68 pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
69                                pkgSrcRecords &SrcRecs,string &Src,
70                                pkgDepCache &Cache);
71
72
73 // vim:sts=3:sw=3