shill: Implement write-only properties
Certain properties (e.g. WIFI Passphrase) are write only and must
not be returned when Service.GetProperties() is called over D-Bus.
This CL implements WriteOnlyProperties, a write-only analog of the
read-only ConstProperties.
Also add a ReadablePropertyConstIterator which only returns the
readable properties. Switch over DBus adaptor and PropertyStore
to use that.
BUG=chromium-os:21196
TEST=Added 2 new unittests.
Change-Id: I52815cc395650e0b49e1acac8d4954deeebcee5d
Reviewed-on: https://gerrit.chromium.org/gerrit/11402
Commit-Ready: Gaurav Shah <gauravsh@chromium.org>
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
Tested-by: Gaurav Shah <gauravsh@chromium.org>
diff --git a/error.cc b/error.cc
index 5ab022e..5fd4ec4 100644
--- a/error.cc
+++ b/error.cc
@@ -42,7 +42,7 @@
const char Error::kInterfaceName[] = SHILL_INTERFACE;
Error::Error() {
- Populate(kSuccess);
+ Reset();
}
Error::Error(Type type) {
@@ -65,6 +65,10 @@
message_ = message;
}
+void Error::Reset() {
+ Populate(kSuccess);
+}
+
bool Error::ToDBusError(::DBus::Error *error) const {
if (IsFailure()) {
error->set(GetName(type_).c_str(), message_.c_str());