]> git.saurik.com Git - apt.git/commitdiff
add a helper to easily get a vector of strings from the configuration
authorDavid Kalnischkies <kalnischkies@gmail.com>
Fri, 4 Sep 2009 17:32:45 +0000 (19:32 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Fri, 4 Sep 2009 17:32:45 +0000 (19:32 +0200)
apt-pkg/contrib/configuration.cc
apt-pkg/contrib/configuration.h
debian/changelog

index 48a5f0bff1f26551602339623592d96d85a1ee22..b83ece3e47935d0f1213ea872e8a3bc6c092fcde 100644 (file)
@@ -223,6 +223,25 @@ string Configuration::FindDir(const char *Name,const char *Default) const
    return Res;
 }
                                                                        /*}}}*/
+// Configuration::FindVector - Find a vector of values                 /*{{{*/
+// ---------------------------------------------------------------------
+/* Returns a vector of config values under the given item */
+vector<string> Configuration::FindVector(const char *Name) const
+{
+   vector<string> Vec;
+   const Item *Top = Lookup(Name);
+   if (Top == NULL)
+      return Vec;
+
+   Item *I = Top->Child;
+   while(I != NULL)
+   {
+      Vec.push_back(I->Value);
+      I = I->Next;
+   }
+   return Vec;
+}
+                                                                       /*}}}*/
 // Configuration::FindI - Find an integer value                                /*{{{*/
 // ---------------------------------------------------------------------
 /* */
index 2534692a371164c09eb15782a055573f3e1a3057..e2da83f5ba7b67da10cedac50d1e212a0b0e6ee2 100644 (file)
@@ -31,6 +31,7 @@
 
 
 #include <string>
+#include <vector>
 #include <iostream>
 
 using std::string;
@@ -70,6 +71,8 @@ class Configuration
    string Find(const string Name,const char *Default = 0) const {return Find(Name.c_str(),Default);};
    string FindFile(const char *Name,const char *Default = 0) const;
    string FindDir(const char *Name,const char *Default = 0) const;
+   std::vector<string> FindVector(const string &Name) const;
+   std::vector<string> FindVector(const char *Name) const;
    int FindI(const char *Name,int Default = 0) const;
    int FindI(const string Name,int Default = 0) const {return FindI(Name.c_str(),Default);};
    bool FindB(const char *Name,bool Default = false) const;
index 550addc9235795e5bb223430e01cf5672fb53790..349c95038fcae95d8a7c93de3db789b2f106f943 100644 (file)
@@ -18,6 +18,8 @@ apt (0.7.24) UNRELEASED; urgency=low
     - activate DOT_MULTI_TARGETS, it is default on since doxygen 1.5.9
   * buildlib/po4a_manpage.mak, doc/makefile, configure:
     - simplify the makefiles needed for po4a manpages
+  * apt-pkg/contrib/configuration.cc:
+    - add a helper to easily get a vector of strings from the config
 
  -- David Kalnischkies <kalnischkies@gmail.com>  Fri, 28 Aug 2009 09:40:08 +0200