| Index: google_apis/gcm/engine/gcm_store_impl.cc
|
| diff --git a/google_apis/gcm/engine/gcm_store_impl.cc b/google_apis/gcm/engine/gcm_store_impl.cc
|
| index 31b258f7a6c149281bbe379ef4e2f49ee82e4cae..91d3e70077bdaf1a68d03f064a65626bd7ffb84e 100644
|
| --- a/google_apis/gcm/engine/gcm_store_impl.cc
|
| +++ b/google_apis/gcm/engine/gcm_store_impl.cc
|
| @@ -96,6 +96,7 @@ class GCMStoreImpl::Backend
|
|
|
| // Blocking implementations of GCMStoreImpl methods.
|
| void Load(const LoadCallback& callback);
|
| + void Close();
|
| void Destroy(const UpdateCallback& callback);
|
| void SetDeviceCredentials(uint64 device_android_id,
|
| uint64 device_security_token,
|
| @@ -213,6 +214,11 @@ void GCMStoreImpl::Backend::Load(const LoadCallback& callback) {
|
| return;
|
| }
|
|
|
| +void GCMStoreImpl::Backend::Close() {
|
| + DVLOG(1) << "Closing GCM store.";
|
| + db_.reset();
|
| +}
|
| +
|
| void GCMStoreImpl::Backend::Destroy(const UpdateCallback& callback) {
|
| DVLOG(1) << "Destroying GCM store.";
|
| db_.reset();
|
| @@ -634,6 +640,12 @@ void GCMStoreImpl::Load(const LoadCallback& callback) {
|
| callback)));
|
| }
|
|
|
| +void GCMStoreImpl::Close() {
|
| + blocking_task_runner_->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&GCMStoreImpl::Backend::Close, backend_));
|
| +}
|
| +
|
| void GCMStoreImpl::Destroy(const UpdateCallback& callback) {
|
| blocking_task_runner_->PostTask(
|
| FROM_HERE,
|
|
|