Index: google_apis/gcm/engine/gcm_store_impl.cc |
diff --git a/google_apis/gcm/engine/rmq_store.cc b/google_apis/gcm/engine/gcm_store_impl.cc |
similarity index 64% |
rename from google_apis/gcm/engine/rmq_store.cc |
rename to google_apis/gcm/engine/gcm_store_impl.cc |
index 49c6809785974903cfce6a4ede966547a8f02326..6ec56e9d9422e94e03705a5631c014a808e09ae1 100644 |
--- a/google_apis/gcm/engine/rmq_store.cc |
+++ b/google_apis/gcm/engine/gcm_store_impl.cc |
@@ -1,8 +1,8 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "google_apis/gcm/engine/rmq_store.h" |
+#include "google_apis/gcm/engine/gcm_store_impl.h" |
#include "base/basictypes.h" |
#include "base/bind.h" |
@@ -80,12 +80,13 @@ leveldb::Slice MakeSlice(const base::StringPiece& s) { |
} // namespace |
-class RMQStore::Backend : public base::RefCountedThreadSafe<RMQStore::Backend> { |
+class GCMStoreImpl::Backend |
+ : public base::RefCountedThreadSafe<GCMStoreImpl::Backend> { |
public: |
Backend(const base::FilePath& path, |
scoped_refptr<base::SequencedTaskRunner> foreground_runner); |
- // Blocking implementations of RMQStore methods. |
+ // Blocking implementations of GCMStoreImpl methods. |
void Load(const LoadCallback& callback); |
void Destroy(const UpdateCallback& callback); |
void SetDeviceCredentials(uint64 device_android_id, |
@@ -125,30 +126,25 @@ class RMQStore::Backend : public base::RefCountedThreadSafe<RMQStore::Backend> { |
scoped_ptr<leveldb::DB> db_; |
}; |
-RMQStore::Backend::Backend( |
+GCMStoreImpl::Backend::Backend( |
const base::FilePath& path, |
scoped_refptr<base::SequencedTaskRunner> foreground_task_runner) |
- : path_(path), |
- foreground_task_runner_(foreground_task_runner) { |
-} |
+ : path_(path), foreground_task_runner_(foreground_task_runner) {} |
-RMQStore::Backend::~Backend() { |
-} |
+GCMStoreImpl::Backend::~Backend() {} |
-void RMQStore::Backend::Load(const LoadCallback& callback) { |
+void GCMStoreImpl::Backend::Load(const LoadCallback& callback) { |
LoadResult result; |
leveldb::Options options; |
options.create_if_missing = true; |
leveldb::DB* db; |
- leveldb::Status status = leveldb::DB::Open(options, |
- path_.AsUTF8Unsafe(), |
- &db); |
+ leveldb::Status status = |
+ leveldb::DB::Open(options, path_.AsUTF8Unsafe(), &db); |
if (!status.ok()) { |
- LOG(ERROR) << "Failed to open database " << path_.value() |
- << ": " << status.ToString(); |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, result)); |
+ LOG(ERROR) << "Failed to open database " << path_.value() << ": " |
+ << status.ToString(); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, result)); |
return; |
} |
db_.reset(db); |
@@ -165,39 +161,35 @@ void RMQStore::Backend::Load(const LoadCallback& callback) { |
STLDeleteContainerPairSecondPointers(result.outgoing_messages.begin(), |
result.outgoing_messages.end()); |
result.outgoing_messages.clear(); |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, result)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, result)); |
return; |
} |
DVLOG(1) << "Succeeded in loading " << result.incoming_messages.size() |
- << " unacknowledged incoming messages and " |
- << result.outgoing_messages.size() |
- << " unacknowledged outgoing messages."; |
+ << " unacknowledged incoming messages and " |
+ << result.outgoing_messages.size() |
+ << " unacknowledged outgoing messages."; |
result.success = true; |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, result)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, result)); |
return; |
} |
-void RMQStore::Backend::Destroy(const UpdateCallback& callback) { |
+void GCMStoreImpl::Backend::Destroy(const UpdateCallback& callback) { |
DVLOG(1) << "Destroying RMQ store."; |
const leveldb::Status s = |
- leveldb::DestroyDB(path_.AsUTF8Unsafe(), |
- leveldb::Options()); |
+ leveldb::DestroyDB(path_.AsUTF8Unsafe(), leveldb::Options()); |
if (s.ok()) { |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, true)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, true)); |
return; |
} |
LOG(ERROR) << "Destroy failed."; |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, false)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, false)); |
} |
-void RMQStore::Backend::SetDeviceCredentials(uint64 device_android_id, |
- uint64 device_security_token, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::Backend::SetDeviceCredentials( |
+ uint64 device_android_id, |
+ uint64 device_security_token, |
+ const UpdateCallback& callback) { |
DVLOG(1) << "Saving device credentials with AID " << device_android_id; |
leveldb::WriteOptions write_options; |
write_options.sync = true; |
@@ -210,41 +202,35 @@ void RMQStore::Backend::SetDeviceCredentials(uint64 device_android_id, |
MakeSlice(kDeviceAIDKey), |
MakeSlice(base::Uint64ToString(device_android_id))); |
if (s.ok()) { |
- s = db_->Put(write_options, |
- MakeSlice(kDeviceTokenKey), |
- MakeSlice(encrypted_token)); |
+ s = db_->Put( |
+ write_options, MakeSlice(kDeviceTokenKey), MakeSlice(encrypted_token)); |
} |
if (s.ok()) { |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, true)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, true)); |
return; |
} |
LOG(ERROR) << "LevelDB put failed: " << s.ToString(); |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, false)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, false)); |
} |
-void RMQStore::Backend::AddIncomingMessage(const std::string& persistent_id, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::Backend::AddIncomingMessage(const std::string& persistent_id, |
+ const UpdateCallback& callback) { |
DVLOG(1) << "Saving incoming message with id " << persistent_id; |
leveldb::WriteOptions write_options; |
write_options.sync = true; |
- const leveldb::Status s = |
- db_->Put(write_options, |
- MakeSlice(MakeIncomingKey(persistent_id)), |
- MakeSlice(persistent_id)); |
+ const leveldb::Status s = db_->Put(write_options, |
+ MakeSlice(MakeIncomingKey(persistent_id)), |
+ MakeSlice(persistent_id)); |
if (s.ok()) { |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, true)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, true)); |
return; |
} |
LOG(ERROR) << "LevelDB put failed: " << s.ToString(); |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, false)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, false)); |
} |
-void RMQStore::Backend::RemoveIncomingMessages( |
+void GCMStoreImpl::Backend::RemoveIncomingMessages( |
const PersistentIdList& persistent_ids, |
const UpdateCallback& callback) { |
leveldb::WriteOptions write_options; |
@@ -252,49 +238,42 @@ void RMQStore::Backend::RemoveIncomingMessages( |
leveldb::Status s; |
for (PersistentIdList::const_iterator iter = persistent_ids.begin(); |
- iter != persistent_ids.end(); ++iter){ |
+ iter != persistent_ids.end(); |
+ ++iter) { |
DVLOG(1) << "Removing incoming message with id " << *iter; |
- s = db_->Delete(write_options, |
- MakeSlice(MakeIncomingKey(*iter))); |
+ s = db_->Delete(write_options, MakeSlice(MakeIncomingKey(*iter))); |
if (!s.ok()) |
break; |
} |
if (s.ok()) { |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, true)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, true)); |
return; |
} |
LOG(ERROR) << "LevelDB remove failed: " << s.ToString(); |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, false)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, false)); |
} |
-void RMQStore::Backend::AddOutgoingMessage( |
- const std::string& persistent_id, |
- const MCSMessage& message, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::Backend::AddOutgoingMessage(const std::string& persistent_id, |
+ const MCSMessage& message, |
+ const UpdateCallback& callback) { |
DVLOG(1) << "Saving outgoing message with id " << persistent_id; |
leveldb::WriteOptions write_options; |
write_options.sync = true; |
- std::string data = static_cast<char>(message.tag()) + |
- message.SerializeAsString(); |
- const leveldb::Status s = |
- db_->Put(write_options, |
- MakeSlice(MakeOutgoingKey(persistent_id)), |
- MakeSlice(data)); |
+ std::string data = |
+ static_cast<char>(message.tag()) + message.SerializeAsString(); |
+ const leveldb::Status s = db_->Put(write_options, |
+ MakeSlice(MakeOutgoingKey(persistent_id)), |
+ MakeSlice(data)); |
if (s.ok()) { |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, true)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, true)); |
return; |
} |
LOG(ERROR) << "LevelDB put failed: " << s.ToString(); |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, false)); |
- |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, false)); |
} |
-void RMQStore::Backend::RemoveOutgoingMessages( |
+void GCMStoreImpl::Backend::RemoveOutgoingMessages( |
const PersistentIdList& persistent_ids, |
const UpdateCallback& callback) { |
leveldb::WriteOptions write_options; |
@@ -302,26 +281,25 @@ void RMQStore::Backend::RemoveOutgoingMessages( |
leveldb::Status s; |
for (PersistentIdList::const_iterator iter = persistent_ids.begin(); |
- iter != persistent_ids.end(); ++iter){ |
+ iter != persistent_ids.end(); |
+ ++iter) { |
DVLOG(1) << "Removing outgoing message with id " << *iter; |
- s = db_->Delete(write_options, |
- MakeSlice(MakeOutgoingKey(*iter))); |
+ s = db_->Delete(write_options, MakeSlice(MakeOutgoingKey(*iter))); |
if (!s.ok()) |
break; |
} |
if (s.ok()) { |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, true)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, true)); |
return; |
} |
LOG(ERROR) << "LevelDB remove failed: " << s.ToString(); |
- foreground_task_runner_->PostTask(FROM_HERE, |
- base::Bind(callback, false)); |
+ foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, false)); |
} |
-void RMQStore::Backend::AddUserSerialNumber(const std::string& username, |
- int64 serial_number, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::Backend::AddUserSerialNumber( |
+ const std::string& username, |
+ int64 serial_number, |
+ const UpdateCallback& callback) { |
DVLOG(1) << "Saving username to serial number mapping for user: " << username; |
leveldb::WriteOptions write_options; |
write_options.sync = true; |
@@ -338,8 +316,9 @@ void RMQStore::Backend::AddUserSerialNumber(const std::string& username, |
foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, false)); |
} |
-void RMQStore::Backend::RemoveUserSerialNumber(const std::string& username, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::Backend::RemoveUserSerialNumber( |
+ const std::string& username, |
+ const UpdateCallback& callback) { |
leveldb::WriteOptions write_options; |
write_options.sync = true; |
@@ -352,8 +331,9 @@ void RMQStore::Backend::RemoveUserSerialNumber(const std::string& username, |
foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, false)); |
} |
-void RMQStore::Backend::SetNextSerialNumber(int64 next_serial_number, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::Backend::SetNextSerialNumber( |
+ int64 next_serial_number, |
+ const UpdateCallback& callback) { |
DVLOG(1) << "Updating the value of next user serial number to: " |
<< next_serial_number; |
leveldb::WriteOptions write_options; |
@@ -371,24 +351,20 @@ void RMQStore::Backend::SetNextSerialNumber(int64 next_serial_number, |
foreground_task_runner_->PostTask(FROM_HERE, base::Bind(callback, false)); |
} |
-bool RMQStore::Backend::LoadDeviceCredentials(uint64* android_id, |
- uint64* security_token) { |
+bool GCMStoreImpl::Backend::LoadDeviceCredentials(uint64* android_id, |
+ uint64* security_token) { |
leveldb::ReadOptions read_options; |
read_options.verify_checksums = true; |
std::string result; |
- leveldb::Status s = db_->Get(read_options, |
- MakeSlice(kDeviceAIDKey), |
- &result); |
+ leveldb::Status s = db_->Get(read_options, MakeSlice(kDeviceAIDKey), &result); |
if (s.ok()) { |
if (!base::StringToUint64(result, android_id)) { |
LOG(ERROR) << "Failed to restore device id."; |
return false; |
} |
result.clear(); |
- s = db_->Get(read_options, |
- MakeSlice(kDeviceTokenKey), |
- &result); |
+ s = db_->Get(read_options, MakeSlice(kDeviceTokenKey), &result); |
} |
if (s.ok()) { |
std::string decrypted_token; |
@@ -409,7 +385,7 @@ bool RMQStore::Backend::LoadDeviceCredentials(uint64* android_id, |
return false; |
} |
-bool RMQStore::Backend::LoadIncomingMessages( |
+bool GCMStoreImpl::Backend::LoadIncomingMessages( |
std::vector<std::string>* incoming_messages) { |
leveldb::ReadOptions read_options; |
read_options.verify_checksums = true; |
@@ -431,9 +407,8 @@ bool RMQStore::Backend::LoadIncomingMessages( |
return true; |
} |
-bool RMQStore::Backend::LoadOutgoingMessages( |
- std::map<std::string, google::protobuf::MessageLite*>* |
- outgoing_messages) { |
+bool GCMStoreImpl::Backend::LoadOutgoingMessages( |
+ std::map<std::string, google::protobuf::MessageLite*>* outgoing_messages) { |
leveldb::ReadOptions read_options; |
read_options.verify_checksums = true; |
@@ -452,8 +427,8 @@ bool RMQStore::Backend::LoadOutgoingMessages( |
BuildProtobufFromTag(tag)); |
if (!message.get() || |
!message->ParseFromString(iter->value().ToString().substr(1))) { |
- LOG(ERROR) << "Failed to parse outgoing message with id " |
- << id << " and tag " << tag; |
+ LOG(ERROR) << "Failed to parse outgoing message with id " << id |
+ << " and tag " << tag; |
return false; |
} |
DVLOG(1) << "Found outgoing message with id " << id << " of type " |
@@ -464,14 +439,13 @@ bool RMQStore::Backend::LoadOutgoingMessages( |
return true; |
} |
-bool RMQStore::Backend::LoadNextSerialNumber(int64* next_serial_number) { |
+bool GCMStoreImpl::Backend::LoadNextSerialNumber(int64* next_serial_number) { |
leveldb::ReadOptions read_options; |
read_options.verify_checksums = true; |
std::string result; |
- leveldb::Status status = db_->Get(read_options, |
- MakeSlice(kNextSerialNumberKey), |
- &result); |
+ leveldb::Status status = |
+ db_->Get(read_options, MakeSlice(kNextSerialNumberKey), &result); |
if (status.ok()) { |
if (!base::StringToInt64(result, next_serial_number)) { |
LOG(ERROR) << "Failed to restore the next serial number."; |
@@ -489,7 +463,7 @@ bool RMQStore::Backend::LoadNextSerialNumber(int64* next_serial_number) { |
return false; |
} |
-bool RMQStore::Backend::LoadUserSerialNumberMap( |
+bool GCMStoreImpl::Backend::LoadUserSerialNumberMap( |
std::map<std::string, int64>* user_serial_number_map) { |
leveldb::ReadOptions read_options; |
read_options.verify_checksums = true; |
@@ -516,140 +490,128 @@ bool RMQStore::Backend::LoadUserSerialNumberMap( |
return true; |
} |
-RMQStore::LoadResult::LoadResult() |
- : success(false), |
- device_android_id(0), |
- device_security_token(0), |
- next_serial_number(1LL) { |
-} |
-RMQStore::LoadResult::~LoadResult() {} |
- |
-RMQStore::RMQStore( |
+GCMStoreImpl::GCMStoreImpl( |
const base::FilePath& path, |
scoped_refptr<base::SequencedTaskRunner> blocking_task_runner) |
: backend_(new Backend(path, base::MessageLoopProxy::current())), |
- blocking_task_runner_(blocking_task_runner) { |
-} |
+ blocking_task_runner_(blocking_task_runner) {} |
-RMQStore::~RMQStore() { |
-} |
+GCMStoreImpl::~GCMStoreImpl() {} |
-void RMQStore::Load(const LoadCallback& callback) { |
- blocking_task_runner_->PostTask(FROM_HERE, |
- base::Bind(&RMQStore::Backend::Load, |
- backend_, |
- callback)); |
+void GCMStoreImpl::Load(const LoadCallback& callback) { |
+ blocking_task_runner_->PostTask( |
+ FROM_HERE, base::Bind(&GCMStoreImpl::Backend::Load, backend_, callback)); |
} |
-void RMQStore::Destroy(const UpdateCallback& callback) { |
+void GCMStoreImpl::Destroy(const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::Destroy, |
- backend_, |
- callback)); |
+ base::Bind(&GCMStoreImpl::Backend::Destroy, backend_, callback)); |
} |
-void RMQStore::SetDeviceCredentials(uint64 device_android_id, |
- uint64 device_security_token, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::SetDeviceCredentials(uint64 device_android_id, |
+ uint64 device_security_token, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::SetDeviceCredentials, |
+ base::Bind(&GCMStoreImpl::Backend::SetDeviceCredentials, |
backend_, |
device_android_id, |
device_security_token, |
callback)); |
} |
-void RMQStore::AddIncomingMessage(const std::string& persistent_id, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::AddIncomingMessage(const std::string& persistent_id, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::AddIncomingMessage, |
+ base::Bind(&GCMStoreImpl::Backend::AddIncomingMessage, |
backend_, |
persistent_id, |
callback)); |
} |
-void RMQStore::RemoveIncomingMessage(const std::string& persistent_id, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::RemoveIncomingMessage(const std::string& persistent_id, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::RemoveIncomingMessages, |
+ base::Bind(&GCMStoreImpl::Backend::RemoveIncomingMessages, |
backend_, |
PersistentIdList(1, persistent_id), |
callback)); |
} |
-void RMQStore::RemoveIncomingMessages(const PersistentIdList& persistent_ids, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::RemoveIncomingMessages( |
+ const PersistentIdList& persistent_ids, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::RemoveIncomingMessages, |
+ base::Bind(&GCMStoreImpl::Backend::RemoveIncomingMessages, |
backend_, |
persistent_ids, |
callback)); |
} |
-void RMQStore::AddOutgoingMessage(const std::string& persistent_id, |
- const MCSMessage& message, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::AddOutgoingMessage(const std::string& persistent_id, |
+ const MCSMessage& message, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::AddOutgoingMessage, |
+ base::Bind(&GCMStoreImpl::Backend::AddOutgoingMessage, |
backend_, |
persistent_id, |
message, |
callback)); |
} |
-void RMQStore::RemoveOutgoingMessage(const std::string& persistent_id, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::RemoveOutgoingMessage(const std::string& persistent_id, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::RemoveOutgoingMessages, |
+ base::Bind(&GCMStoreImpl::Backend::RemoveOutgoingMessages, |
backend_, |
PersistentIdList(1, persistent_id), |
callback)); |
} |
-void RMQStore::RemoveOutgoingMessages(const PersistentIdList& persistent_ids, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::RemoveOutgoingMessages( |
+ const PersistentIdList& persistent_ids, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::RemoveOutgoingMessages, |
+ base::Bind(&GCMStoreImpl::Backend::RemoveOutgoingMessages, |
backend_, |
persistent_ids, |
callback)); |
} |
-void RMQStore::SetNextSerialNumber(int64 next_serial_number, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::SetNextSerialNumber(int64 next_serial_number, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::SetNextSerialNumber, |
+ base::Bind(&GCMStoreImpl::Backend::SetNextSerialNumber, |
backend_, |
next_serial_number, |
callback)); |
} |
-void RMQStore::AddUserSerialNumber(const std::string& username, |
- int64 serial_number, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::AddUserSerialNumber(const std::string& username, |
+ int64 serial_number, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::AddUserSerialNumber, |
+ base::Bind(&GCMStoreImpl::Backend::AddUserSerialNumber, |
backend_, |
username, |
serial_number, |
callback)); |
} |
-void RMQStore::RemoveUserSerialNumber(const std::string& username, |
- const UpdateCallback& callback) { |
+void GCMStoreImpl::RemoveUserSerialNumber(const std::string& username, |
+ const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&RMQStore::Backend::RemoveUserSerialNumber, |
+ base::Bind(&GCMStoreImpl::Backend::RemoveUserSerialNumber, |
backend_, |
username, |
callback)); |