X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/08e8f724674eb96678dcabf856534c58f5c29996..1fcbfcb8ba78224fd0e4d532d4fa976f0ea00fef:/apt-pkg/contrib/configuration.h diff --git a/apt-pkg/contrib/configuration.h b/apt-pkg/contrib/configuration.h index 1cdf67860..aeb181c7a 100644 --- a/apt-pkg/contrib/configuration.h +++ b/apt-pkg/contrib/configuration.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: configuration.h,v 1.4 1998/09/22 05:30:27 jgg Exp $ +// $Id: configuration.h,v 1.11 1999/04/03 00:34:33 jgg Exp $ /* ###################################################################### Configuration Class @@ -14,13 +14,17 @@ And has associated with it a text string. The Configuration class only provides storage and lookup for this tree, other classes provide configuration file formats (and parsers/emitters if needed). - + Most things can get by quite happily with, cout << _config->Find("Foo::Bar") << endl; + + A special extension, support for ordered lists is provided by using the + special syntax, "block::list::" the trailing :: designates the + item as a list. To access the list you must use the tree function on + "block::list". ##################################################################### */ /*}}}*/ -// Header section: pkglib #ifndef PKGLIB_CONFIGURATION_H #define PKGLIB_CONFIGURATION_H @@ -39,7 +43,10 @@ class Configuration Item *Parent; Item *Child; Item *Next; - Item() : Child(0), Next(0) {}; + + string FullTag() const; + + Item() : Parent(0), Child(0), Next(0) {}; }; Item *Root; @@ -49,9 +56,13 @@ class Configuration public: string Find(const char *Name,const char *Default = 0); + string Find(string Name,const char *Default = 0) {return Find(Name.c_str(),Default);}; + string FindFile(const char *Name,const char *Default = 0); string FindDir(const char *Name,const char *Default = 0); int FindI(const char *Name,int Default = 0); + int FindI(string Name,bool Default = 0) {return FindI(Name.c_str(),Default);}; bool FindB(const char *Name,bool Default = false); + bool FindB(string Name,bool Default = false) {return FindB(Name.c_str(),Default);}; inline void Set(string Name,string Value) {Set(Name.c_str(),Value);}; void Set(const char *Name,string Value); @@ -60,6 +71,10 @@ class Configuration inline bool Exists(string Name) {return Exists(Name.c_str());}; bool Exists(const char *Name); + inline const Item *Tree(const char *Name) {return Lookup(Name,false);}; + + void Dump(); + Configuration(); };