shill: Add persistent store support for getting/setting string lists.

BUG=chromium-os:17144
TEST=unit tests

Change-Id: Ib85935f3e53b606757aa50786d94975b1fe5109c
Reviewed-on: http://gerrit.chromium.org/gerrit/3486
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
diff --git a/store_interface.h b/store_interface.h
index 46a71cc..b03d3c0 100644
--- a/store_interface.h
+++ b/store_interface.h
@@ -7,6 +7,7 @@
 
 #include <set>
 #include <string>
+#include <vector>
 
 namespace shill {
 
@@ -78,6 +79,19 @@
                       const std::string &key,
                       int value) = 0;
 
+  // Gets a string list |value| associated with |group|:|key|. Returns true on
+  // success and false on failure (including when |group|:|key| is not present
+  // in the store).
+  virtual bool GetStringList(const std::string &group,
+                             const std::string &key,
+                             std::vector<std::string> *value) = 0;
+
+  // Associates |group|:|key| with a string list |value|. Returns true on
+  // success, false otherwise.
+  virtual bool SetStringList(const std::string &group,
+                             const std::string &key,
+                             const std::vector<std::string> &value) = 0;
+
   // Gets and decrypts string |value| associated with |group|:|key|. Returns
   // true on success and false on failure (including when |group|:|key| is not
   // present in the store).