Continueed playing around with the buildsystem.
[aesalon.git] / include / monitor / config / ConcreteVault.h
blobb5e1c87f65eabf58685729224eedcb4221a28a70
1 /**
2 Aesalon, a tool to visualize a program's behaviour at run-time.
3 Copyright (C) 2010, Aesalon Development Team.
5 Aesalon is distributed under the terms of the GNU GPLv3. For more
6 licensing information, see the file LICENSE included with the distribution.
8 @file include/monitor/config/ConcreteVault.h
12 #ifndef AesalonMonitor_Config_ConcreteVault_H
13 #define AesalonMonitor_Config_ConcreteVault_H
15 #include <map>
17 #include "Vault.h"
19 namespace Monitor {
20 namespace Config {
22 class ConcreteVault : public Vault {
23 private:
24 typedef std::multimap<std::string, std::string> DataMap;
25 DataMap m_data;
26 public:
27 virtual ~ConcreteVault() {}
29 virtual void clear(const std::string &key);
30 virtual void set(const std::string &key, const std::string &value);
32 /** Re-implemented.
34 virtual std::string get(const std::string &key);
35 /** Re-implemented.
37 virtual void get(const std::string &key, std::vector<std::string> &values);
38 /** Re-implemented.
40 virtual void match(const std::string &pattern, std::vector<KeyPair> &items);
41 private:
42 /** Returns true if @a string matches @a pattern.
44 bool matches(const std::string &string, const std::string &pattern);
47 } // namespace Config
48 } // namespace Monitor
50 #endif