X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/9c14e3d619e713aefa623986b5bbae81a1d6cc94..1fcbfcb8ba78224fd0e4d532d4fa976f0ea00fef:/apt-pkg/contrib/configuration.h?ds=sidebyside diff --git a/apt-pkg/contrib/configuration.h b/apt-pkg/contrib/configuration.h index bd06f5e37..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.2 1998/07/09 05:12:34 jgg Exp $ +// $Id: configuration.h,v 1.11 1999/04/03 00:34:33 jgg Exp $ /* ###################################################################### Configuration Class @@ -14,18 +14,22 @@ 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 #ifdef __GNUG__ -#pragma interface "pkglib/configuration.h" +#pragma interface "apt-pkg/configuration.h" #endif #include @@ -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,15 +56,30 @@ 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); - void Set(const char *Name,int Value); + void Set(const char *Name,int Value); + + 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(); }; extern Configuration *_config; +bool ReadConfigFile(Configuration &Conf,string File); + #endif