summaryrefslogtreecommitdiff
path: root/property_store.h
diff options
context:
space:
mode:
authorGaurav Shah <gauravsh@chromium.org>2011-11-09 11:41:01 -0800
committerGerrit <chrome-bot@google.com>2011-11-11 11:21:15 -0800
commit1b7a616197af7ff753dbe7614a8e207b1e10ac1a (patch)
tree1bffa47b7dd9a98d8c33045860ddc31c6a58cdae /property_store.h
parent1272a43bf73f6a99f51a6cc6345183aa503cfb67 (diff)
downloadshill-1b7a616197af7ff753dbe7614a8e207b1e10ac1a.tar.gz
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>
Diffstat (limited to 'property_store.h')
-rw-r--r--property_store.h31
1 files changed, 20 insertions, 11 deletions
diff --git a/property_store.h b/property_store.h
index 696ea17d..caa14919 100644
--- a/property_store.h
+++ b/property_store.h
@@ -75,36 +75,45 @@ class PropertyStore {
// Accessors for iterators over property maps. Useful for dumping all
// properties.
- PropertyConstIterator<bool> GetBoolPropertiesIter() const;
- PropertyConstIterator<int16> GetInt16PropertiesIter() const;
- PropertyConstIterator<int32> GetInt32PropertiesIter() const;
- PropertyConstIterator<std::string> GetStringPropertiesIter() const;
- PropertyConstIterator<Stringmap> GetStringmapPropertiesIter() const;
- PropertyConstIterator<Stringmaps> GetStringmapsPropertiesIter() const;
- PropertyConstIterator<StrIntPair> GetStrIntPairPropertiesIter() const;
- PropertyConstIterator<Strings> GetStringsPropertiesIter() const;
- PropertyConstIterator<uint8> GetUint8PropertiesIter() const;
- PropertyConstIterator<uint16> GetUint16PropertiesIter() const;
- PropertyConstIterator<uint32> GetUint32PropertiesIter() const;
+ ReadablePropertyConstIterator<bool> GetBoolPropertiesIter() const;
+ ReadablePropertyConstIterator<int16> GetInt16PropertiesIter() const;
+ ReadablePropertyConstIterator<int32> GetInt32PropertiesIter() const;
+ ReadablePropertyConstIterator<std::string> GetStringPropertiesIter() const;
+ ReadablePropertyConstIterator<Stringmap> GetStringmapPropertiesIter() const;
+ ReadablePropertyConstIterator<Stringmaps> GetStringmapsPropertiesIter() const;
+ ReadablePropertyConstIterator<StrIntPair> GetStrIntPairPropertiesIter() const;
+ ReadablePropertyConstIterator<Strings> GetStringsPropertiesIter() const;
+ ReadablePropertyConstIterator<uint8> GetUint8PropertiesIter() const;
+ ReadablePropertyConstIterator<uint16> GetUint16PropertiesIter() const;
+ ReadablePropertyConstIterator<uint32> GetUint32PropertiesIter() const;
void RegisterBool(const std::string &name, bool *prop);
void RegisterConstBool(const std::string &name, const bool *prop);
+ void RegisterWriteOnlyBool(const std::string &name, bool *prop);
void RegisterInt16(const std::string &name, int16 *prop);
void RegisterConstInt16(const std::string &name, const int16 *prop);
+ void RegisterWriteOnlyInt16(const std::string &name, int16 *prop);
void RegisterInt32(const std::string &name, int32 *prop);
void RegisterConstInt32(const std::string &name, const int32 *prop);
+ void RegisterWriteOnlyInt32(const std::string &name, int32 *prop);
void RegisterString(const std::string &name, std::string *prop);
void RegisterConstString(const std::string &name, const std::string *prop);
+ void RegisterWriteOnlyString(const std::string &name, std::string *prop);
void RegisterStringmap(const std::string &name, Stringmap *prop);
void RegisterConstStringmap(const std::string &name, const Stringmap *prop);
+ void RegisterWriteOnlyStringmap(const std::string &name, Stringmap *prop);
void RegisterStringmaps(const std::string &name, Stringmaps *prop);
void RegisterConstStringmaps(const std::string &name, const Stringmaps *prop);
+ void RegisterWriteOnlyStringmaps(const std::string &name, Stringmaps *prop);
void RegisterStrings(const std::string &name, Strings *prop);
void RegisterConstStrings(const std::string &name, const Strings *prop);
+ void RegisterWriteOnlyStrings(const std::string &name, Strings *prop);
void RegisterUint8(const std::string &name, uint8 *prop);
void RegisterConstUint8(const std::string &name, const uint8 *prop);
+ void RegisterWriteOnlyUint8(const std::string &name, uint8 *prop);
void RegisterUint16(const std::string &name, uint16 *prop);
void RegisterConstUint16(const std::string &name, const uint16 *prop);
+ void RegisterWriteOnlyUint16(const std::string &name, uint16 *prop);
void RegisterDerivedBool(const std::string &name,
const BoolAccessor &accessor);