]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/indexfile.cc
test/integration/test-ubuntu-bug-346386-apt-get-update-paywall: use downloadfile()
[apt.git] / apt-pkg / indexfile.cc
index f59387c1ac5846609e98fe7a4023e44e2ac7aa72..89615cb416dce40868c087952674ea5fe387822c 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: indexfile.cc,v 1.2 2001/02/20 07:03:17 jgg Exp $
+// $Id: indexfile.cc,v 1.2.2.1 2003/12/24 23:09:17 mdz Exp $
 /* ######################################################################
 
    Index File - Abstraction for an index of archive/souce file.
 /* ######################################################################
 
    Index File - Abstraction for an index of archive/souce file.
@@ -8,12 +8,20 @@
    ##################################################################### */
                                                                        /*}}}*/
 // Include Files                                                       /*{{{*/
    ##################################################################### */
                                                                        /*}}}*/
 // Include Files                                                       /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/indexfile.h"
-#endif
+#include<config.h>
 
 #include <apt-pkg/indexfile.h>
 #include <apt-pkg/error.h>
 
 #include <apt-pkg/indexfile.h>
 #include <apt-pkg/error.h>
+#include <apt-pkg/aptconfiguration.h>
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/cacheiterators.h>
+#include <apt-pkg/srcrecords.h>
+#include <apt-pkg/macros.h>
+
+#include <string>
+#include <vector>
+#include <clocale>
+#include <cstring>
                                                                        /*}}}*/
 
 // Global list of Item supported
                                                                        /*}}}*/
 
 // Global list of Item supported
@@ -27,7 +35,8 @@ unsigned long pkgIndexFile::Type::GlobalListLen = 0;
 pkgIndexFile::Type::Type()
 {
    ItmList[GlobalListLen] = this;
 pkgIndexFile::Type::Type()
 {
    ItmList[GlobalListLen] = this;
-   GlobalListLen++;   
+   GlobalListLen++;
+   Label = NULL;
 }
                                                                        /*}}}*/
 // Type::GetType - Locate the type by name                             /*{{{*/
 }
                                                                        /*}}}*/
 // Type::GetType - Locate the type by name                             /*{{{*/
@@ -41,21 +50,12 @@ pkgIndexFile::Type *pkgIndexFile::Type::GetType(const char *Type)
    return 0;
 }
                                                                        /*}}}*/
    return 0;
 }
                                                                        /*}}}*/
-    
-// IndexFile::GetIndexes - Stub                                                /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-bool pkgIndexFile::GetIndexes(pkgAcquire *Owner) const
-{
-   return _error->Error("Internal Error, this index file is not downloadable");
-}
-                                                                       /*}}}*/
 // IndexFile::ArchiveInfo - Stub                                       /*{{{*/
 // ---------------------------------------------------------------------
 /* */
 // IndexFile::ArchiveInfo - Stub                                       /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-string pkgIndexFile::ArchiveInfo(pkgCache::VerIterator Ver) const
+std::string pkgIndexFile::ArchiveInfo(pkgCache::VerIterator /*Ver*/) const
 {
 {
-   return string();
+   return std::string();
 }
                                                                        /*}}}*/
 // IndexFile::FindInCache - Stub                                       /*{{{*/
 }
                                                                        /*}}}*/
 // IndexFile::FindInCache - Stub                                       /*{{{*/
@@ -69,9 +69,44 @@ pkgCache::PkgFileIterator pkgIndexFile::FindInCache(pkgCache &Cache) const
 // IndexFile::SourceIndex - Stub                                       /*{{{*/
 // ---------------------------------------------------------------------
 /* */
 // IndexFile::SourceIndex - Stub                                       /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-string pkgIndexFile::SourceInfo(pkgSrcRecords::Parser const &Record,
-                               pkgSrcRecords::File const &File) const
+std::string pkgIndexFile::SourceInfo(pkgSrcRecords::Parser const &/*Record*/,
+                               pkgSrcRecords::File const &/*File*/) const
 {
 {
-   return string();
+   return std::string();
+}
+                                                                       /*}}}*/
+// IndexFile::TranslationsAvailable - Check if will use Translation    /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool pkgIndexFile::TranslationsAvailable() {
+       return (APT::Configuration::getLanguages().empty() != true);
+}
+                                                                       /*}}}*/
+// IndexFile::CheckLanguageCode - Check the Language Code              /*{{{*/
+// ---------------------------------------------------------------------
+/* No intern need for this method anymore as the check for correctness
+   is already done in getLanguages(). Note also that this check is
+   rather bad (doesn't take three character like ast into account).
+   TODO: Remove method with next API break */
+APT_DEPRECATED bool pkgIndexFile::CheckLanguageCode(const char *Lang)
+{
+  if (strlen(Lang) == 2 || (strlen(Lang) == 5 && Lang[2] == '_'))
+    return true;
+
+  if (strcmp(Lang,"C") != 0)
+    _error->Warning("Wrong language code %s", Lang);
+
+  return false;
+}
+                                                                       /*}}}*/
+// IndexFile::LanguageCode - Return the Language Code                  /*{{{*/
+// ---------------------------------------------------------------------
+/* As we have now possibly more than one LanguageCode this method is
+   supersided by a) private classmembers or b) getLanguages().
+   TODO: Remove method with next API break */
+APT_DEPRECATED std::string pkgIndexFile::LanguageCode() {
+       if (TranslationsAvailable() == false)
+               return "";
+       return APT::Configuration::getLanguages()[0];
 }
                                                                        /*}}}*/
 }
                                                                        /*}}}*/