blob: 5262e9111aa4f151e89b82fe1be37af422295fd3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
// -*- mode: c++; c-basic-offset: 2; -*-
#ifndef CONFIG_HH
#define CONFIG_HH
#include <string>
class Config {
public:
virtual ~Config() { }
static Config* create();
virtual bool load_name(std::string const& name) = 0;
virtual bool load_file(std::string const& filename) = 0;
virtual bool good() const = 0;
virtual std::string const& last_error() const = 0;
virtual std::string const& get(std::string const& key,
std::string const& fallback) = 0;
virtual char const* get(std::string const& key, char const* fallback) = 0;
virtual bool get(std::string const& key, bool fallback) = 0;
virtual bool is_set(std::string const& key) = 0;
virtual void set(std::string const& key, std::string const& value) = 0;
protected:
Config() { }
Config(Config const&) = delete;
};
#endif // CONFIG_HH
|