[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/manager.h b/manager.h
index f6fc027..e8a7dcb 100644
--- a/manager.h
+++ b/manager.h
@@ -14,6 +14,7 @@
#include "shill/device.h"
#include "shill/device_info.h"
+#include "shill/glib.h"
#include "shill/property_store.h"
#include "shill/service.h"
#include "shill/shill_event.h"
@@ -43,6 +44,8 @@
void Start();
void Stop();
+ const ProfileRefPtr &ActiveProfile();
+
void RegisterDevice(const DeviceRefPtr &to_manage);
void DeregisterDevice(const DeviceConstRefPtr &to_forget);
@@ -67,27 +70,28 @@
// active profile, once we have such a thing.
std::vector<std::string> EnumerateAvailableServices();
std::vector<std::string> EnumerateWatchedServices();
+ std::string GetActiveProfileName();
void HelpRegisterDerivedString(const std::string &name,
- std::string(Manager::*get)(void),
- bool(Manager::*set)(const std::string&));
+ std::string(Manager::*get)(void),
+ bool(Manager::*set)(const std::string&));
void HelpRegisterDerivedStrings(const std::string &name,
- Strings(Manager::*get)(void),
- bool(Manager::*set)(const Strings&));
+ Strings(Manager::*get)(void),
+ bool(Manager::*set)(const Strings&));
+ GLib glib_;
scoped_ptr<ManagerAdaptorInterface> adaptor_;
DeviceInfo device_info_;
bool running_;
std::vector<DeviceRefPtr> devices_;
std::vector<ServiceRefPtr> services_;
+ std::vector<ProfileRefPtr> profiles_;
+ ProfileRefPtr ephemeral_profile_;
// Properties to be get/set via PropertyStore calls.
Properties props_;
PropertyStore store_;
- std::string active_profile_; // This is supposed to be, essentially,
- // an RPC-visible object handle
-
friend class ManagerAdaptorInterface;
};