]>
git.saurik.com Git - apt.git/blob - apt-pkg/contrib/configuration.h
1 // -*- mode: cpp; mode: fold -*-
3 // $Id: configuration.h,v 1.5 1998/10/20 02:39:27 jgg Exp $
4 /* ######################################################################
8 This class provides a configuration file and command line parser
9 for a tree-oriented configuration environment. All runtime configuration
12 Each configuration name is given as a fully scoped string such as
14 And has associated with it a text string. The Configuration class only
15 provides storage and lookup for this tree, other classes provide
16 configuration file formats (and parsers/emitters if needed).
18 Most things can get by quite happily with,
19 cout << _config->Find("Foo::Bar") << endl;
21 ##################################################################### */
23 // Header section: pkglib
24 #ifndef PKGLIB_CONFIGURATION_H
25 #define PKGLIB_CONFIGURATION_H
28 #pragma interface "apt-pkg/configuration.h"
42 Item() : Child(0), Next(0) {};
46 Item
*Lookup(Item
*Head
,const char *S
,unsigned long Len
,bool Create
);
47 Item
*Lookup(const char *Name
,bool Create
);
51 string
Find(const char *Name
,const char *Default
= 0);
52 string
FindFile(const char *Name
,const char *Default
= 0);
53 string
FindDir(const char *Name
,const char *Default
= 0);
54 int FindI(const char *Name
,int Default
= 0);
55 bool FindB(const char *Name
,bool Default
= false);
57 inline void Set(string Name
,string Value
) {Set(Name
.c_str(),Value
);};
58 void Set(const char *Name
,string Value
);
59 void Set(const char *Name
,int Value
);
61 inline bool Exists(string Name
) {return Exists(Name
.c_str());};
62 bool Exists(const char *Name
);
67 extern Configuration
*_config
;
69 bool ReadConfigFile(Configuration
&Conf
,string File
);