]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/indexfile.cc
merged lp:~mvo/apt/conflicts-on-virtuals to better deal with
[apt.git] / apt-pkg / indexfile.cc
index 49665161dd18e5a0f4e25f173c6d04be84165797..37be87055367d8eb02ba3135f0315976a4de1df3 100644 (file)
@@ -8,12 +8,12 @@
    ##################################################################### */
                                                                        /*}}}*/
 // Include Files                                                       /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/indexfile.h"
-#endif
-
 #include <apt-pkg/indexfile.h>
 #include <apt-pkg/error.h>
+#include <apt-pkg/aptconfiguration.h>
+
+#include <clocale>
+#include <cstring>
                                                                        /*}}}*/
 
 // Global list of Item supported
@@ -41,7 +41,6 @@ pkgIndexFile::Type *pkgIndexFile::Type::GetType(const char *Type)
    return 0;
 }
                                                                        /*}}}*/
-    
 // IndexFile::ArchiveInfo - Stub                                       /*{{{*/
 // ---------------------------------------------------------------------
 /* */
@@ -67,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];
+}
+                                                                       /*}}}*/