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 // Defining IPC Messages | 5 // Defining IPC Messages |
6 // | 6 // |
7 // Your IPC messages will be defined by macros inside of an XXX_messages.h | 7 // Your IPC messages will be defined by macros inside of an XXX_messages.h |
8 // header file. Most of the time, the system can automatically generate all | 8 // header file. Most of the time, the system can automatically generate all |
9 // of messaging mechanism from these definitions, but sometimes some manual | 9 // of messaging mechanism from these definitions, but sometimes some manual |
10 // coding is required. In these cases, you will also have an XXX_messages.cc | 10 // coding is required. In these cases, you will also have an XXX_messages.cc |
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 if (!msg_class::DispatchWithParamDelayReply(&ipc_message__, obj, param__, \ | 381 if (!msg_class::DispatchWithParamDelayReply(&ipc_message__, obj, param__, \ |
382 &member_func)) \ | 382 &member_func)) \ |
383 ipc_message__.set_dispatch_error(); \ | 383 ipc_message__.set_dispatch_error(); \ |
384 } \ | 384 } \ |
385 break; | 385 break; |
386 | 386 |
387 #define IPC_MESSAGE_HANDLER_WITH_PARAM_DELAY_REPLY(msg_class, member_func) \ | 387 #define IPC_MESSAGE_HANDLER_WITH_PARAM_DELAY_REPLY(msg_class, member_func) \ |
388 IPC_MESSAGE_FORWARD_WITH_PARAM_DELAY_REPLY( \ | 388 IPC_MESSAGE_FORWARD_WITH_PARAM_DELAY_REPLY( \ |
389 msg_class, this, _IpcMessageHandlerClass::member_func) | 389 msg_class, this, _IpcMessageHandlerClass::member_func) |
390 | 390 |
391 // TODO(jar): fix chrome frame to always supply |code| argument. | |
392 #define IPC_MESSAGE_HANDLER_GENERIC(msg_class, code) \ | 391 #define IPC_MESSAGE_HANDLER_GENERIC(msg_class, code) \ |
393 case msg_class::ID: { \ | 392 case msg_class::ID: { \ |
394 /* TRACK_RUN_IN_THIS_SCOPED_REGION(code); TODO(jar) */ \ | 393 TRACK_RUN_IN_THIS_SCOPED_REGION(code); \ |
395 code; \ | 394 code; \ |
396 } \ | 395 } \ |
397 break; | 396 break; |
398 | 397 |
399 #define IPC_REPLY_HANDLER(func) \ | 398 #define IPC_REPLY_HANDLER(func) \ |
400 case IPC_REPLY_ID: { \ | 399 case IPC_REPLY_ID: { \ |
401 TRACK_RUN_IN_THIS_SCOPED_REGION(func); \ | 400 TRACK_RUN_IN_THIS_SCOPED_REGION(func); \ |
402 func(ipc_message__); \ | 401 func(ipc_message__); \ |
403 } \ | 402 } \ |
404 break; | 403 break; |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
559 IPC_SYNC_MESSAGE_ROUTED(msg, (a, b, c, d, e), (f, g, h)) | 558 IPC_SYNC_MESSAGE_ROUTED(msg, (a, b, c, d, e), (f, g, h)) |
560 #define IPC_SYNC_MESSAGE_ROUTED5_4(msg, a, b, c, d, e, f, g, h, i) \ | 559 #define IPC_SYNC_MESSAGE_ROUTED5_4(msg, a, b, c, d, e, f, g, h, i) \ |
561 IPC_SYNC_MESSAGE_ROUTED(msg, (a, b, c, d, e), (f, g, h, i)) | 560 IPC_SYNC_MESSAGE_ROUTED(msg, (a, b, c, d, e), (f, g, h, i)) |
562 | 561 |
563 #endif // IPC_IPC_MESSAGE_MACROS_H_ | 562 #endif // IPC_IPC_MESSAGE_MACROS_H_ |
564 | 563 |
565 // Clean up IPC_MESSAGE_START in this unguarded section so that the | 564 // Clean up IPC_MESSAGE_START in this unguarded section so that the |
566 // XXX_messages.h files need not do so themselves. This makes the | 565 // XXX_messages.h files need not do so themselves. This makes the |
567 // XXX_messages.h files easier to write. | 566 // XXX_messages.h files easier to write. |
568 #undef IPC_MESSAGE_START | 567 #undef IPC_MESSAGE_START |
OLD | NEW |