summaryrefslogtreecommitdiffstats
path: root/chrome/common/ipc_sync_message.cc
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-03 02:19:49 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-03 02:19:49 +0000
commit8cf3f1dae79db8cfbf9dc6b75c140eabad918a6e (patch)
tree89e93505cc275c0a22b5ca7d95c5f03cfacff6a1 /chrome/common/ipc_sync_message.cc
parent343b7211ff31670cded0f85fa8a056fa6cf7a9f3 (diff)
downloadchromium_src-8cf3f1dae79db8cfbf9dc6b75c140eabad918a6e.zip
chromium_src-8cf3f1dae79db8cfbf9dc6b75c140eabad918a6e.tar.gz
chromium_src-8cf3f1dae79db8cfbf9dc6b75c140eabad918a6e.tar.bz2
Move IPC code to ipc/
(No review URL: Rietvelt couldn't cope) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13062 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/ipc_sync_message.cc')
-rw-r--r--chrome/common/ipc_sync_message.cc126
1 files changed, 0 insertions, 126 deletions
diff --git a/chrome/common/ipc_sync_message.cc b/chrome/common/ipc_sync_message.cc
deleted file mode 100644
index a7407e4..0000000
--- 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