Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5991)

Unified Diff: chrome/common/ipc_sync_message.cc

Issue 155905: Separates ipc code from common (http://crbug.com/16829) (Closed)
Patch Set: Fixes reference to 'common_message_traits' it's actually 'common_param_traits' Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/ipc_sync_message.h ('k') | chrome/common/ipc_sync_message_unittest.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/ipc_sync_message.cc
diff --git a/chrome/common/ipc_sync_message.cc b/chrome/common/ipc_sync_message.cc
deleted file mode 100644
index a7407e43453365e47a5009a1d87b18f8216abc16..0000000000000000000000000000000000000000
--- a/chrome/common/ipc_sync_message.cc
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright (c) 2006-2008 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 "build/build_config.h"
-
-#if defined(OS_WIN)
-#include <windows.h>
-#endif
-#include <stack>
-
-#include "base/logging.h"
-#include "base/waitable_event.h"
-#include "chrome/common/ipc_sync_message.h"
-
-namespace IPC {
-
-uint32 SyncMessage::next_id_ = 0;
-#define kSyncMessageHeaderSize 4
-
-base::WaitableEvent* dummy_event = new base::WaitableEvent(true, true);
-
-SyncMessage::SyncMessage(
- int32 routing_id,
- uint16 type,
- PriorityValue priority,
- MessageReplyDeserializer* deserializer)
- : Message(routing_id, type, priority),
- deserializer_(deserializer),
- pump_messages_event_(NULL)
- {
- set_sync();
- set_unblock(true);
-
- // Add synchronous message data before the message payload.
- SyncHeader header;
- header.message_id = ++next_id_;
- WriteSyncHeader(this, header);
-}
-
-MessageReplyDeserializer* SyncMessage::GetReplyDeserializer() {
- MessageReplyDeserializer* rv = deserializer_;
- DCHECK(rv);
- deserializer_ = NULL;
- return rv;
-}
-
-void SyncMessage::EnableMessagePumping() {
- DCHECK(!pump_messages_event_);
- set_pump_messages_event(dummy_event);
-}
-
-bool SyncMessage::IsMessageReplyTo(const Message& msg, int request_id) {
- if (!msg.is_reply())
- return false;
-
- return GetMessageId(msg) == request_id;
-}
-
-void* SyncMessage::GetDataIterator(const Message* msg) {
- void* iter = const_cast<char*>(msg->payload());
- UpdateIter(&iter, kSyncMessageHeaderSize);
- return iter;
-}
-
-int SyncMessage::GetMessageId(const Message& msg) {
- if (!msg.is_sync() && !msg.is_reply())
- return 0;
-
- SyncHeader header;
- if (!ReadSyncHeader(msg, &header))
- return 0;
-
- return header.message_id;
-}
-
-Message* SyncMessage::GenerateReply(const Message* msg) {
- DCHECK(msg->is_sync());
-
- Message* reply = new Message(msg->routing_id(), IPC_REPLY_ID,
- msg->priority());
- reply->set_reply();
-
- SyncHeader header;
-
- // use the same message id, but this time reply bit is set
- header.message_id = GetMessageId(*msg);
- WriteSyncHeader(reply, header);
-
- return reply;
-}
-
-bool SyncMessage::ReadSyncHeader(const Message& msg, SyncHeader* header) {
- DCHECK(msg.is_sync() || msg.is_reply());
-
- void* iter = NULL;
- bool result = msg.ReadInt(&iter, &header->message_id);
- if (!result) {
- NOTREACHED();
- return false;
- }
-
- return true;
-}
-
-bool SyncMessage::WriteSyncHeader(Message* msg, const SyncHeader& header) {
- DCHECK(msg->is_sync() || msg->is_reply());
- DCHECK(msg->payload_size() == 0);
- bool result = msg->WriteInt(header.message_id);
- if (!result) {
- NOTREACHED();
- return false;
- }
-
- // Note: if you add anything here, you need to update kSyncMessageHeaderSize.
- DCHECK(kSyncMessageHeaderSize == msg->payload_size());
-
- return true;
-}
-
-
-bool MessageReplyDeserializer::SerializeOutputParameters(const Message& msg) {
- return SerializeOutputParameters(msg, SyncMessage::GetDataIterator(&msg));
-}
-
-} // namespace IPC
« no previous file with comments | « chrome/common/ipc_sync_message.h ('k') | chrome/common/ipc_sync_message_unittest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698