1 // -*- mode: cpp; mode: fold -*-
3 // $Id: sourcelist.h,v 1.8 1999/04/07 05:30:18 jgg Exp $
4 /* ######################################################################
6 SourceList - Manage a list of sources
8 The Source List class provides access to a list of sources. It
9 can read them from a file and generate a list of all the distinct
12 All sources have a type associated with them that defines the layout
13 of the archive. The exact format of the file is documented in
16 ##################################################################### */
18 // Header section: pkglib
19 #ifndef PKGLIB_SOURCELIST_H
20 #define PKGLIB_SOURCELIST_H
25 #include <apt-pkg/pkgcache.h>
28 #pragma interface "apt-pkg/sourcelist.h"
36 /* Each item in the source list, each line can have more than one
40 enum {Deb
, DebSrc
} Type
;
46 bool SetType(string S
);
47 bool SetURI(string S
);
48 string
PackagesURI() const;
49 string
PackagesInfo() const;
50 string
ReleaseURI() const;
51 string
ReleaseInfo() const;
52 string
SourceInfo(string Pkg
,string Ver
,string Comp
) const;
53 string
SiteOnly(string URI
) const;
54 string
ArchiveInfo(pkgCache::VerIterator Ver
) const;
55 string
ArchiveURI(string File
) const;
57 typedef vector
<Item
>::const_iterator const_iterator
;
66 bool Read(string File
);
69 inline const_iterator
begin() const {return List
.begin();};
70 inline const_iterator
end() const {return List
.end();};
71 inline unsigned int size() const {return List
.size();};
72 inline bool empty() const {return List
.empty();};
75 pkgSourceList(string File
);
78 ostream
&operator <<(ostream
&O
,pkgSourceList::Item
&Itm
);