[shill] Add support for weird Cellular.SimLockStatus property
SimLockStatus is bizarre in that its type is a dictionary that maps
names to values of different types. It's { string:string,
string:uint32 }, which doesn't fit nicely into dbus-c++, because you
can't represent it trivially with an STL container -- and therefore I
have to do something special to convert it.
BUG=chromium-os:17281
TEST=unit tests
STATUS=Verified
Change-Id: I9c4e43f75c666570caae66e04293bce6207a1b99
Reviewed-on: http://gerrit.chromium.org/gerrit/3619
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/property_store_unittest.cc b/property_store_unittest.cc
index 2dd049c..f63439c 100644
--- a/property_store_unittest.cc
+++ b/property_store_unittest.cc
@@ -6,6 +6,7 @@
#include <map>
#include <string>
+#include <utility>
#include <vector>
#include <dbus-c++/dbus.h>
@@ -19,8 +20,9 @@
#include "shill/property_store.h"
#include "shill/shill_event.h"
-using std::string;
+using std::make_pair;
using std::map;
+using std::string;
using std::vector;
using ::testing::Values;
@@ -44,11 +46,15 @@
DBusAdaptor::StringmapToVariant(Stringmap());
// static
const ::DBus::Variant PropertyStoreTest::kStringmapsV =
- DBusAdaptor::StringmapsToVariant(vector<map<string, string> >());
+ DBusAdaptor::StringmapsToVariant(Stringmaps());
// static
const ::DBus::Variant PropertyStoreTest::kStringsV =
DBusAdaptor::StringsToVariant(Strings(1, ""));
// static
+const ::DBus::Variant PropertyStoreTest::kStrIntPairV =
+ DBusAdaptor::StrIntPairToVariant(StrIntPair(make_pair("", ""),
+ make_pair("", 12)));
+// static
const ::DBus::Variant PropertyStoreTest::kUint16V =
DBusAdaptor::Uint16ToVariant(0);
// static
@@ -79,10 +85,11 @@
PropertyStoreTest::kStringV,
PropertyStoreTest::kInt16V,
PropertyStoreTest::kInt32V,
- PropertyStoreTest::kUint16V,
- PropertyStoreTest::kUint32V,
- PropertyStoreTest::kStringsV,
PropertyStoreTest::kStringmapV,
- PropertyStoreTest::kStringmapsV));
+ PropertyStoreTest::kStringmapsV,
+ PropertyStoreTest::kStringsV,
+ PropertyStoreTest::kStrIntPairV,
+ PropertyStoreTest::kUint16V,
+ PropertyStoreTest::kUint32V));
} // namespace shill