]> git.saurik.com Git - apt.git/blame_incremental - apt-pkg/deb/debrecords.cc
* apt-pkg/depcache.cc:
[apt.git] / apt-pkg / deb / debrecords.cc
... / ...
CommitLineData
1// -*- mode: cpp; mode: fold -*-
2// Description /*{{{*/
3// $Id: debrecords.cc,v 1.10 2001/03/13 06:51:46 jgg Exp $
4/* ######################################################################
5
6 Debian Package Records - Parser for debian package records
7
8 ##################################################################### */
9 /*}}}*/
10// Include Files /*{{{*/
11#ifdef __GNUG__
12#pragma implementation "apt-pkg/debrecords.h"
13#endif
14#include <apt-pkg/debrecords.h>
15#include <apt-pkg/error.h>
16 /*}}}*/
17
18// RecordParser::debRecordParser - Constructor /*{{{*/
19// ---------------------------------------------------------------------
20/* */
21debRecordParser::debRecordParser(string FileName,pkgCache &Cache) :
22 File(FileName,FileFd::ReadOnly),
23 Tags(&File,Cache.Head().MaxVerFileSize + 200)
24{
25}
26 /*}}}*/
27// RecordParser::Jump - Jump to a specific record /*{{{*/
28// ---------------------------------------------------------------------
29/* */
30bool debRecordParser::Jump(pkgCache::VerFileIterator const &Ver)
31{
32 return Tags.Jump(Section,Ver->Offset);
33}
34 /*}}}*/
35// RecordParser::FileName - Return the archive filename on the site /*{{{*/
36// ---------------------------------------------------------------------
37/* */
38string debRecordParser::FileName()
39{
40 return Section.FindS("Filename");
41}
42 /*}}}*/
43// RecordParser::Name - Return the package name /*{{{*/
44// ---------------------------------------------------------------------
45/* */
46string debRecordParser::Name()
47{
48 return Section.FindS("Package");
49}
50 /*}}}*/
51// RecordParser::MD5Hash - Return the archive hash /*{{{*/
52// ---------------------------------------------------------------------
53/* */
54string debRecordParser::MD5Hash()
55{
56 return Section.FindS("MD5Sum");
57}
58 /*}}}*/
59// RecordParser::SHA1Hash - Return the archive hash /*{{{*/
60// ---------------------------------------------------------------------
61/* */
62string debRecordParser::SHA1Hash()
63{
64 return Section.FindS("SHA1Sum");
65}
66 /*}}}*/
67// RecordParser::Maintainer - Return the maintainer email /*{{{*/
68// ---------------------------------------------------------------------
69/* */
70string debRecordParser::Maintainer()
71{
72 return Section.FindS("Maintainer");
73}
74 /*}}}*/
75// RecordParser::ShortDesc - Return a 1 line description /*{{{*/
76// ---------------------------------------------------------------------
77/* */
78string debRecordParser::ShortDesc()
79{
80 string Res = Section.FindS("Description");
81 string::size_type Pos = Res.find('\n');
82 if (Pos == string::npos)
83 return Res;
84 return string(Res,0,Pos);
85}
86 /*}}}*/
87// RecordParser::LongDesc - Return a longer description /*{{{*/
88// ---------------------------------------------------------------------
89/* */
90string debRecordParser::LongDesc()
91{
92 return Section.FindS("Description");
93}
94 /*}}}*/
95// RecordParser::SourcePkg - Return the source package name if any /*{{{*/
96// ---------------------------------------------------------------------
97/* */
98string debRecordParser::SourcePkg()
99{
100 string Res = Section.FindS("Source");
101 string::size_type Pos = Res.find(' ');
102 if (Pos == string::npos)
103 return Res;
104 return string(Res,0,Pos);
105}
106 /*}}}*/
107// RecordParser::GetRec - Return the whole record /*{{{*/
108// ---------------------------------------------------------------------
109/* */
110void debRecordParser::GetRec(const char *&Start,const char *&Stop)
111{
112 Section.GetSection(Start,Stop);
113}
114 /*}}}*/