| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 | 6 |
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
| 8 #include <windows.h> | 8 #include <windows.h> |
| 9 #endif | 9 #endif |
| 10 #include <stack> | 10 #include <stack> |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 set_pump_messages_event(dummy_event.Pointer()); | 67 set_pump_messages_event(dummy_event.Pointer()); |
| 68 } | 68 } |
| 69 | 69 |
| 70 bool SyncMessage::IsMessageReplyTo(const Message& msg, int request_id) { | 70 bool SyncMessage::IsMessageReplyTo(const Message& msg, int request_id) { |
| 71 if (!msg.is_reply()) | 71 if (!msg.is_reply()) |
| 72 return false; | 72 return false; |
| 73 | 73 |
| 74 return GetMessageId(msg) == request_id; | 74 return GetMessageId(msg) == request_id; |
| 75 } | 75 } |
| 76 | 76 |
| 77 PickleIterator SyncMessage::GetDataIterator(const Message* msg) { | 77 base::PickleIterator SyncMessage::GetDataIterator(const Message* msg) { |
| 78 PickleIterator iter(*msg); | 78 base::PickleIterator iter(*msg); |
| 79 if (!iter.SkipBytes(kSyncMessageHeaderSize)) | 79 if (!iter.SkipBytes(kSyncMessageHeaderSize)) |
| 80 return PickleIterator(); | 80 return base::PickleIterator(); |
| 81 else | 81 else |
| 82 return iter; | 82 return iter; |
| 83 } | 83 } |
| 84 | 84 |
| 85 int SyncMessage::GetMessageId(const Message& msg) { | 85 int SyncMessage::GetMessageId(const Message& msg) { |
| 86 if (!msg.is_sync() && !msg.is_reply()) | 86 if (!msg.is_sync() && !msg.is_reply()) |
| 87 return 0; | 87 return 0; |
| 88 | 88 |
| 89 SyncHeader header; | 89 SyncHeader header; |
| 90 if (!ReadSyncHeader(msg, &header)) | 90 if (!ReadSyncHeader(msg, &header)) |
| (...skipping 14 matching lines...) Expand all Loading... |
| 105 // use the same message id, but this time reply bit is set | 105 // use the same message id, but this time reply bit is set |
| 106 header.message_id = GetMessageId(*msg); | 106 header.message_id = GetMessageId(*msg); |
| 107 WriteSyncHeader(reply, header); | 107 WriteSyncHeader(reply, header); |
| 108 | 108 |
| 109 return reply; | 109 return reply; |
| 110 } | 110 } |
| 111 | 111 |
| 112 bool SyncMessage::ReadSyncHeader(const Message& msg, SyncHeader* header) { | 112 bool SyncMessage::ReadSyncHeader(const Message& msg, SyncHeader* header) { |
| 113 DCHECK(msg.is_sync() || msg.is_reply()); | 113 DCHECK(msg.is_sync() || msg.is_reply()); |
| 114 | 114 |
| 115 PickleIterator iter(msg); | 115 base::PickleIterator iter(msg); |
| 116 bool result = iter.ReadInt(&header->message_id); | 116 bool result = iter.ReadInt(&header->message_id); |
| 117 if (!result) { | 117 if (!result) { |
| 118 NOTREACHED(); | 118 NOTREACHED(); |
| 119 return false; | 119 return false; |
| 120 } | 120 } |
| 121 | 121 |
| 122 return true; | 122 return true; |
| 123 } | 123 } |
| 124 | 124 |
| 125 bool SyncMessage::WriteSyncHeader(Message* msg, const SyncHeader& header) { | 125 bool SyncMessage::WriteSyncHeader(Message* msg, const SyncHeader& header) { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 136 | 136 |
| 137 return true; | 137 return true; |
| 138 } | 138 } |
| 139 | 139 |
| 140 | 140 |
| 141 bool MessageReplyDeserializer::SerializeOutputParameters(const Message& msg) { | 141 bool MessageReplyDeserializer::SerializeOutputParameters(const Message& msg) { |
| 142 return SerializeOutputParameters(msg, SyncMessage::GetDataIterator(&msg)); | 142 return SerializeOutputParameters(msg, SyncMessage::GetDataIterator(&msg)); |
| 143 } | 143 } |
| 144 | 144 |
| 145 } // namespace IPC | 145 } // namespace IPC |
| OLD | NEW |