]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/indexfile.cc
Arch() on a MultiArch:all version should return "all" to be compatible
[apt.git] / apt-pkg / indexfile.cc
index 63f692c1d5397a93f5fcecab83f53a43c8530029..37be87055367d8eb02ba3135f0315976a4de1df3 100644 (file)
 // Include Files                                                       /*{{{*/
 #include <apt-pkg/indexfile.h>
 #include <apt-pkg/error.h>
+#include <apt-pkg/aptconfiguration.h>
+
+#include <clocale>
+#include <cstring>
                                                                        /*}}}*/
 
 // Global list of Item supported
@@ -37,7 +41,6 @@ pkgIndexFile::Type *pkgIndexFile::Type::GetType(const char *Type)
    return 0;
 }
                                                                        /*}}}*/
-    
 // IndexFile::ArchiveInfo - Stub                                       /*{{{*/
 // ---------------------------------------------------------------------
 /* */
@@ -63,3 +66,38 @@ string pkgIndexFile::SourceInfo(pkgSrcRecords::Parser const &Record,
    return 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 */
+__attribute__ ((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 */
+__attribute__ ((deprecated)) string pkgIndexFile::LanguageCode() {
+       if (TranslationsAvailable() == false)
+               return "";
+       return APT::Configuration::getLanguages()[0];
+}
+                                                                       /*}}}*/