summaryrefslogtreecommitdiff
path: root/key_value_store.h
diff options
context:
space:
mode:
authorPaul Stewart <pstew@chromium.org>2013-06-13 07:49:49 -0700
committerChromeBot <chrome-bot@google.com>2013-06-13 21:15:33 -0700
commit3c5e2b347c4cdc76a6395a0863e174aed946902e (patch)
treec4b31497ab9c7129f2582476a53f761caf46ece6 /key_value_store.h
parenta8f7c4990e64897c070d89b599e050017555de5d (diff)
downloadshill-3c5e2b347c4cdc76a6395a0863e174aed946902e.tar.gz
shill: KeyValueStore: Add string vector properties
Add a "Strings" map to the KeyValueStore so vectors of strings can be stored. BUG=chromium:249363 TEST=Unit tests Change-Id: Ia9964da4a0905c5b44f9790549572c09d3428231 Reviewed-on: https://gerrit.chromium.org/gerrit/58541 Commit-Queue: Paul Stewart <pstew@chromium.org> Reviewed-by: Paul Stewart <pstew@chromium.org> Tested-by: Paul Stewart <pstew@chromium.org>
Diffstat (limited to 'key_value_store.h')
-rw-r--r--key_value_store.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/key_value_store.h b/key_value_store.h
index 12915feb..bde9a188 100644
--- a/key_value_store.h
+++ b/key_value_store.h
@@ -7,6 +7,7 @@
#include <map>
#include <string>
+#include <vector>
#include <base/basictypes.h>
@@ -35,19 +36,24 @@ class KeyValueStore {
bool ContainsBool(const std::string &name) const;
bool ContainsInt(const std::string &name) const;
bool ContainsString(const std::string &name) const;
+ bool ContainsStrings(const std::string &name) const;
bool ContainsUint(const std::string &name) const;
bool GetBool(const std::string &name) const;
int32 GetInt(const std::string &name) const;
const std::string &GetString(const std::string &name) const;
+ const std::vector<std::string> &GetStrings(const std::string &name) const;
uint32 GetUint(const std::string &name) const;
void SetBool(const std::string &name, bool value);
void SetInt(const std::string &name, int32 value);
- void SetString(const std::string& name, const std::string& value);
+ void SetString(const std::string &name, const std::string &value);
+ void SetStrings(const std::string &name,
+ const std::vector<std::string> &value);
void SetUint(const std::string &name, uint32 value);
void RemoveString(const std::string &name);
+ void RemoveStrings(const std::string &name);
void RemoveInt(const std::string &name);
// If |name| is in this store returns its value, otherwise returns
@@ -65,6 +71,10 @@ class KeyValueStore {
const std::map<std::string, std::string> &string_properties() const {
return string_properties_;
}
+ const std::map<std::string,
+ std::vector<std::string>> &strings_properties() const {
+ return strings_properties_;
+ }
const std::map<std::string, uint32> &uint_properties() const {
return uint_properties_;
}
@@ -73,6 +83,7 @@ class KeyValueStore {
std::map<std::string, bool> bool_properties_;
std::map<std::string, int32> int_properties_;
std::map<std::string, std::string> string_properties_;
+ std::map<std::string, std::vector<std::string>> strings_properties_;
std::map<std::string, uint32> uint_properties_;
};