summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_message_utils_impl.h
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-11 16:38:22 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-11 16:38:22 +0000
commitef85bbeac4d297d238bb9c17312261182187cebc (patch)
tree8b0bfbde3264837374854e8c4ce43356c3677907 /ipc/ipc_message_utils_impl.h
parentb24c81a4c510bec2902b12d4768d6d47aafed9f2 (diff)
downloadchromium_src-ef85bbeac4d297d238bb9c17312261182187cebc.zip
chromium_src-ef85bbeac4d297d238bb9c17312261182187cebc.tar.gz
chromium_src-ef85bbeac4d297d238bb9c17312261182187cebc.tar.bz2
FBTF: Allow forward declaration of classes passed to sync IPC messages.
This is a continuation of r55259, where we convert the remaining IPC messages to the new system. At this point, all the messages should be able to accept forward declared classes/structs as parameters. BUG=51411 TEST=none Review URL: http://codereview.chromium.org/3018045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55735 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_message_utils_impl.h')
-rw-r--r--ipc/ipc_message_utils_impl.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/ipc/ipc_message_utils_impl.h b/ipc/ipc_message_utils_impl.h
index ba11990..53c7986 100644
--- a/ipc/ipc_message_utils_impl.h
+++ b/ipc/ipc_message_utils_impl.h
@@ -25,6 +25,19 @@ MessageWithTuple<ParamType>::MessageWithTuple(
// subclass needs to have Log() to call Read(), which instantiates the above
// template.
+template <class SendParamType, class ReplyParamType>
+MessageWithReply<SendParamType, ReplyParamType>::MessageWithReply(
+ int32 routing_id, uint32 type,
+ const RefSendParam& send,
+ const ReplyParam& reply)
+ : SyncMessage(routing_id, type, PRIORITY_NORMAL,
+ new ParamDeserializer<ReplyParam>(reply)) {
+ WriteParam(this, send);
+}
+
+// TODO(erg): Migrate ReadSendParam()/ReadReplyParam() here when we can force
+// the visibility/linkage.
+
} // namespace IPC
#endif // IPC_IPC_MESSAGE_UTILS_IMPL_H_