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 daf7d362fd90adb3005a612c7d894a872e4e2fd4..8c46ce04b6600b234334c4971d0fbdd5e21b33f8 100644 |
--- a/google_apis/gcm/engine/gcm_store_impl.cc |
+++ b/google_apis/gcm/engine/gcm_store_impl.cc |
@@ -710,6 +710,25 @@ bool GCMStoreImpl::AddOutgoingMessage(const std::string& persistent_id, |
return false; |
} |
+void GCMStoreImpl::OverwriteOutgoingMessage(const std::string& persistent_id, |
+ const MCSMessage& message, |
+ const UpdateCallback& callback) { |
+ DCHECK_EQ(message.tag(), kDataMessageStanzaTag); |
+ std::string app_id = reinterpret_cast<const mcs_proto::DataMessageStanza*>( |
+ &message.GetProtobuf())->from(); |
fgorski
2014/01/27 17:39:38
app_id is stored in category
Nicolas Zea
2014/01/28 08:15:35
from is supposed to store project id, and category
fgorski
2014/01/28 18:10:27
Ok. For upstream messages the following holds true
Nicolas Zea
2014/01/31 11:58:43
Done.
|
+ DCHECK(!app_id.empty()); |
+ // There should already be pending messages for this app. |
+ DCHECK(app_message_counts_.count(app_id)); |
+ // TODO(zea); consider verifying the specific message already exists. |
+ blocking_task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&GCMStoreImpl::Backend::AddOutgoingMessage, |
+ backend_, |
+ persistent_id, |
+ message, |
+ callback)); |
+} |
+ |
void GCMStoreImpl::RemoveOutgoingMessage(const std::string& persistent_id, |
const UpdateCallback& callback) { |
blocking_task_runner_->PostTask( |