[shill] Add properties to Manager, Device and subclasses. Clean up unit tests
1) Pull much of the properties stuff (the maps, Register*(), Contains()) up
into PropertyStore, and make it a class, not an interface.
2) Add proper property stuff to Manager and Device. Move Cellular- and Wifi-
specific properties to Cellular, CellularService, WiFi, WiFiService as
appropriate.
3) clean up unit tests.
BUG=chromium-os:16343
TEST=unit tests
Change-Id: Iba88f384a5fbe383608cb79fa2134d978f1b81e8
Reviewed-on: http://gerrit.chromium.org/gerrit/3136
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/accessor_interface.h b/accessor_interface.h
index 85f3913..916a976 100644
--- a/accessor_interface.h
+++ b/accessor_interface.h
@@ -8,6 +8,7 @@
#include <map>
#include <string>
#include <tr1/memory>
+#include <vector>
#include <base/basictypes.h>
@@ -36,12 +37,16 @@
// Using a smart pointer here allows pointers to classes derived from
// AccessorInterface<> to be stored in maps and other STL container types.
typedef std::tr1::shared_ptr<AccessorInterface<bool> > BoolAccessor;
+typedef std::tr1::shared_ptr<AccessorInterface<int16> > Int16Accessor;
typedef std::tr1::shared_ptr<AccessorInterface<int32> > Int32Accessor;
+typedef std::tr1::shared_ptr<AccessorInterface<std::string> > StringAccessor;
typedef std::tr1::shared_ptr<
AccessorInterface<std::map<std::string, std::string> > > StringmapAccessor;
-typedef std::tr1::shared_ptr<AccessorInterface<std::string> > StringAccessor;
+typedef std::tr1::shared_ptr<
+ AccessorInterface<std::vector<std::string> > > StringsAccessor;
typedef std::tr1::shared_ptr<AccessorInterface<uint8> > Uint8Accessor;
typedef std::tr1::shared_ptr<AccessorInterface<uint16> > Uint16Accessor;
+typedef std::tr1::shared_ptr<AccessorInterface<uint32> > Uint32Accessor;
} // namespace shill