summaryrefslogtreecommitdiff
path: root/ipc/ipc_message_utils.h
diff options
context:
space:
mode:
authorSunwook Bae <sunwook45.bae@samsung.com>2013-10-02 10:51:11 +0900
committerSunwook Bae <sunwook45.bae@samsung.com>2013-10-02 10:51:11 +0900
commit3f7c0903daea1bba8d6f817ac077fe4ef8a238fb (patch)
tree14aa58982c9b871fe28cde723a588751492dbf1f /ipc/ipc_message_utils.h
parentf4f90d9e380c1577b02ccdae29ca082fdd997385 (diff)
downloadchromium-3f7c0903daea1bba8d6f817ac077fe4ef8a238fb.tar.gz
chromium-3f7c0903daea1bba8d6f817ac077fe4ef8a238fb.tar.bz2
chromium-3f7c0903daea1bba8d6f817ac077fe4ef8a238fb.zip
Change-Id: Ie8db13e36cda77dbbadfb9b0b28a81acec144e94 Signed-off-by: Sunwook Bae <sunwook45.bae@samsung.com>
Diffstat (limited to 'ipc/ipc_message_utils.h')
-rwxr-xr-xipc/ipc_message_utils.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/ipc/ipc_message_utils.h b/ipc/ipc_message_utils.h
index a7b78959fb02..3b5ff6f1152b 100755
--- a/ipc/ipc_message_utils.h
+++ b/ipc/ipc_message_utils.h
@@ -962,7 +962,14 @@ class __attribute__((visibility("default"))) MessageWithTuple : public Message {
// those translation units.
MessageWithTuple(int32 routing_id, uint32 type, const RefParam& p);
- static bool Read(const Message* msg, Param* p) IPC_MSG_NOINLINE;
+ static bool Read(const Message* msg, Param* p)
+ { // Put definition into class so that Dispatch method could use it.
+ void* iter = NULL;
+ if (ReadParam(msg, &iter, p))
+ return true;
+ NOTREACHED() << "Error deserializing message " << msg->type();
+ return false;
+ } IPC_MSG_NOINLINE;
// Generic dispatcher. Should cover most cases.
template<class T, class S, class Method>
@@ -1154,7 +1161,11 @@ class __attribute__((visibility("default"))) MessageWithReply : public SyncMessa
MessageWithReply(int32 routing_id, uint32 type,
const RefSendParam& send, const ReplyParam& reply);
- static bool ReadSendParam(const Message* msg, SendParam* p) IPC_MSG_NOINLINE;
+ static bool ReadSendParam(const Message* msg, SendParam* p)
+ { // Put definition into class so that Dispatch method could use it.
+ void* iter = SyncMessage::GetDataIterator(msg);
+ return ReadParam(msg, &iter, p);
+ } IPC_MSG_NOINLINE;
static bool ReadReplyParam(
const Message* msg,
typename TupleTypes<ReplyParam>::ValueTuple* p) IPC_MSG_NOINLINE;