| Index: session_manager_service.h
|
| diff --git a/session_manager_service.h b/session_manager_service.h
|
| index 86a5615f69da60506ac7b40df4e492bd3f76f748..ce59c918dc51d31cc4cc596bb4d3bc1646131b02 100644
|
| --- a/session_manager_service.h
|
| +++ b/session_manager_service.h
|
| @@ -19,6 +19,7 @@
|
| #include <base/ref_counted.h>
|
| #include <base/scoped_ptr.h>
|
| #include <base/thread.h>
|
| +#include <base/waitable_event.h>
|
| #include <chromeos/dbus/abstract_dbus_service.h>
|
| #include <chromeos/dbus/dbus.h>
|
| #include <chromeos/dbus/service_constants.h>
|
| @@ -55,27 +56,6 @@ class SessionManagerService
|
| : public base::RefCountedThreadSafe<SessionManagerService>,
|
| public chromeos::dbus::AbstractDbusService {
|
| public:
|
| - struct PersistKeyData {
|
| - public:
|
| - PersistKeyData(SystemUtils* utils, OwnerKey* key)
|
| - : signaler(utils),
|
| - to_persist(key) {
|
| - }
|
| - ~PersistKeyData() {}
|
| - SystemUtils* signaler;
|
| - OwnerKey* to_persist;
|
| - };
|
| -
|
| - struct PersistStoreData {
|
| - public:
|
| - PersistStoreData(SystemUtils* utils, PrefStore* store)
|
| - : signaler(utils),
|
| - to_persist(store) {
|
| - }
|
| - ~PersistStoreData() {}
|
| - SystemUtils* signaler;
|
| - PrefStore* to_persist;
|
| - };
|
|
|
| SessionManagerService(std::vector<ChildJobInterface*> child_jobs);
|
| virtual ~SessionManagerService();
|
| @@ -471,6 +451,10 @@ class SessionManagerService
|
| // to signal Chromium when done.
|
| void PersistStore();
|
|
|
| + // |store_| is persisted to disk, and |event| is signaled when done. This
|
| + // is used to provide synchronous, threadsafe persisting.
|
| + void PersistStoreSync(base::WaitableEvent* event);
|
| +
|
| void StartKeyGeneration();
|
|
|
| // Uses |system_| to send |signal_name| to Chromium. Attaches a payload
|
|
|