[shill] Enable the getting of properties, and wire to dbus.

PropertyStore exposes getters for iterators pointing to the beginning
and end of its property maps, and a static utility method in DBusAdaptor
uses these to iterate through all the properties in the PropertyStore and build
up a map of property name -> DBus::Variant-wrapped value.

BUG=chromium-os:16343
TEST=unit tests

Change-Id: I85ebbaee167ab2feed0fcf8fe654274de352aca0
Reviewed-on: http://gerrit.chromium.org/gerrit/3359
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/property_store.h b/property_store.h
index 3ba6530..42f3cd4 100644
--- a/property_store.h
+++ b/property_store.h
@@ -12,6 +12,7 @@
 #include <base/basictypes.h>
 
 #include "shill/accessor_interface.h"
+#include "shill/property_iterator.h"
 
 namespace shill {
 
@@ -66,6 +67,17 @@
                                  uint32 value,
                                  Error *error);
 
+  // Accessors for iterators over property maps.
+  PropertyConstIterator<bool> GetBoolPropertiesIter();
+  PropertyConstIterator<int16> GetInt16PropertiesIter();
+  PropertyConstIterator<int32> GetInt32PropertiesIter();
+  PropertyConstIterator<std::string> GetStringPropertiesIter();
+  PropertyConstIterator<Stringmap> GetStringmapPropertiesIter();
+  PropertyConstIterator<Strings> GetStringsPropertiesIter();
+  PropertyConstIterator<uint8> GetUint8PropertiesIter();
+  PropertyConstIterator<uint16> GetUint16PropertiesIter();
+  PropertyConstIterator<uint32> GetUint32PropertiesIter();
+
  protected:
   PropertyStore();