summaryrefslogtreecommitdiff
path: root/apt-pkg/deb
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/deb')
-rw-r--r--apt-pkg/deb/debrecords.cc58
-rw-r--r--apt-pkg/deb/debrecords.h17
2 files changed, 72 insertions, 3 deletions
diff --git a/apt-pkg/deb/debrecords.cc b/apt-pkg/deb/debrecords.cc
index ae0acce18..c28e11afb 100644
--- a/apt-pkg/deb/debrecords.cc
+++ b/apt-pkg/deb/debrecords.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: debrecords.cc,v 1.1 1998/08/09 00:51:36 jgg Exp $
+// $Id: debrecords.cc,v 1.2 1998/10/08 04:55:02 jgg Exp $
/* ######################################################################
Debian Package Records - Parser for debian package records
@@ -30,3 +30,59 @@ bool debRecordParser::Jump(pkgCache::VerFileIterator &Ver)
return Tags.Jump(Section,Ver->Offset);
}
/*}}}*/
+// RecordParser::FindTag - Locate a tag and return a string /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::FindTag(const char *Tag)
+{
+ const char *Start;
+ const char *Stop;
+ if (Section.Find(Tag,Start,Stop) == false)
+ return string();
+ return string(Start,Stop - Start);
+}
+ /*}}}*/
+// RecordParser::FileName - Return the archive filename on the site /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::FileName()
+{
+ return FindTag("Filename");
+}
+ /*}}}*/
+// RecordParser::MD5Hash - Return the archive hash /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::MD5Hash()
+{
+ return FindTag("MD5sum");
+}
+ /*}}}*/
+// RecordParser::Maintainer - Return the maintainer email /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::Maintainer()
+{
+ return FindTag("Maintainer");
+}
+ /*}}}*/
+// RecordParser::ShortDesc - Return a 1 line description /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::ShortDesc()
+{
+ string Res = FindTag("Description");
+ string::size_type Pos = Res.find('\n');
+ if (Pos == string::npos)
+ return Res;
+ return string(Res,0,Pos);
+}
+ /*}}}*/
+// RecordParser::LongDesc - Return a longer description /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::LongDesc()
+{
+ return string();
+}
+ /*}}}*/
diff --git a/apt-pkg/deb/debrecords.h b/apt-pkg/deb/debrecords.h
index 0bd8da921..6255d79ed 100644
--- a/apt-pkg/deb/debrecords.h
+++ b/apt-pkg/deb/debrecords.h
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: debrecords.h,v 1.1 1998/08/09 00:51:36 jgg Exp $
+// $Id: debrecords.h,v 1.2 1998/10/08 04:55:04 jgg Exp $
/* ######################################################################
Debian Package Records - Parser for debian package records
@@ -26,10 +26,23 @@ class debRecordParser : public pkgRecords::Parser
{
pkgTagFile Tags;
pkgTagSection Section;
+
+ string FindTag(const char *Tag);
+
+ protected:
+
+ virtual bool Jump(pkgCache::VerFileIterator &Ver);
public:
+
+ // These refer to the archive file for the Version
+ virtual string FileName();
+ virtual string MD5Hash();
- virtual bool Jump(pkgCache::VerFileIterator &Ver);
+ // These are some general stats about the package
+ virtual string Maintainer();
+ virtual string ShortDesc();
+ virtual string LongDesc();
debRecordParser(FileFd &File);
};