[shill] Back property storage in Service objects with Entry objects
Much of Shill Service state is persisted to disk, by creating an Entry
in a Profile. We should store this info just once, so that we don't
have to worry about keeping multiple data stores in sync. This is a
first step in that direction.
BUG=chromium-os:17436
TEST=unit tests
Change-Id: If94db2a38a7d79c56e2c746b2f069cfd7ab4bf65
Reviewed-on: http://gerrit.chromium.org/gerrit/3876
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
diff --git a/wifi_service.cc b/wifi_service.cc
index dec3417..ab76b2e 100644
--- a/wifi_service.cc
+++ b/wifi_service.cc
@@ -11,6 +11,7 @@
#include "shill/control_interface.h"
#include "shill/device.h"
+#include "shill/entry.h"
#include "shill/shill_event.h"
#include "shill/wifi.h"
@@ -21,27 +22,29 @@
WiFiService::WiFiService(ControlInterface *control_interface,
EventDispatcher *dispatcher,
const WiFiRefPtr &device,
+ const ProfileRefPtr &profile,
+ const EntryRefPtr &entry,
const std::vector<uint8_t> ssid,
uint32_t mode,
const std::string &key_management,
const std::string &name)
- : Service(control_interface, dispatcher, name),
+ : Service(control_interface, dispatcher, profile, entry, name),
task_factory_(this),
wifi_(device),
ssid_(ssid),
mode_(mode) {
- eap_.key_management = key_management;
+ entry_->eap.key_management = key_management;
// TODO(cmasone): Figure out if mode_ should be a string or what
- // store_.RegisterString(flimflam::kModeProperty, &mode_);
+ // store_.RegisterString(flimflam::kModeProperty, &entry_->mode);
store_.RegisterString(flimflam::kPassphraseProperty, &passphrase_);
store_.RegisterBool(flimflam::kPassphraseRequiredProperty, &need_passphrase_);
- store_.RegisterConstString(flimflam::kSecurityProperty, &security_);
+ store_.RegisterConstString(flimflam::kSecurityProperty, &entry_->security);
store_.RegisterConstUint8(flimflam::kSignalStrengthProperty, &strength_);
store_.RegisterConstString(flimflam::kTypeProperty, &type_);
store_.RegisterConstString(flimflam::kWifiAuthMode, &auth_mode_);
- store_.RegisterConstBool(flimflam::kWifiHiddenSsid, &hidden_ssid_);
+ store_.RegisterConstBool(flimflam::kWifiHiddenSsid, &entry_->hidden_ssid);
store_.RegisterConstUint16(flimflam::kWifiFrequency, &frequency_);
store_.RegisterConstUint16(flimflam::kWifiPhyMode, &physical_mode_);
store_.RegisterConstUint16(flimflam::kWifiHexSsid, &hex_ssid_);
@@ -70,7 +73,7 @@
}
const std::string &WiFiService::key_management() const {
- return eap_.key_management;
+ return entry_->eap.key_management;
}
const std::vector<uint8_t> &WiFiService::ssid() const {