| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 // This header is meant to be included in multiple passes, hence no traditional | 5 // This header is meant to be included in multiple passes, hence no traditional |
| 6 // header guard. | 6 // header guard. |
| 7 // | 7 // |
| 8 // In the first pass, IPC_MESSAGE_MACROS_ENUMS should be defined, which will | 8 // In the first pass, IPC_MESSAGE_MACROS_ENUMS should be defined, which will |
| 9 // create enums for each of the messages defined with the IPC_MESSAGE_* macros. | 9 // create enums for each of the messages defined with the IPC_MESSAGE_* macros. |
| 10 // | 10 // |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 #ifdef IPC_MESSAGE_MACROS_LOG_ENABLED | 72 #ifdef IPC_MESSAGE_MACROS_LOG_ENABLED |
| 73 #define IPC_MESSAGE_MACROS_LOG | 73 #define IPC_MESSAGE_MACROS_LOG |
| 74 #include MESSAGES_INTERNAL_FILE | 74 #include MESSAGES_INTERNAL_FILE |
| 75 #endif | 75 #endif |
| 76 | 76 |
| 77 #undef MESSAGES_INTERNAL_FILE | 77 #undef MESSAGES_INTERNAL_FILE |
| 78 #undef IPC_MESSAGE_MACROS_INCLUDE_BLOCK | 78 #undef IPC_MESSAGE_MACROS_INCLUDE_BLOCK |
| 79 | 79 |
| 80 #endif | 80 #endif |
| 81 | 81 |
| 82 #if defined(IPC_MESSAGE_MACROS_ENUMS) |
| 83 #undef IPC_MESSAGE_MACROS_ENUMS |
| 84 |
| 82 | 85 |
| 83 // Undefine the macros from the previous pass (if any). | 86 // Undefine the macros from the previous pass (if any). |
| 84 #undef IPC_BEGIN_MESSAGES | 87 #undef IPC_BEGIN_MESSAGES |
| 85 #undef IPC_END_MESSAGES | 88 #undef IPC_END_MESSAGES |
| 86 #undef IPC_MESSAGE_CONTROL0 | 89 #undef IPC_MESSAGE_CONTROL0 |
| 87 #undef IPC_MESSAGE_CONTROL1 | 90 #undef IPC_MESSAGE_CONTROL1 |
| 88 #undef IPC_MESSAGE_CONTROL2 | 91 #undef IPC_MESSAGE_CONTROL2 |
| 89 #undef IPC_MESSAGE_CONTROL3 | 92 #undef IPC_MESSAGE_CONTROL3 |
| 90 #undef IPC_MESSAGE_CONTROL4 | 93 #undef IPC_MESSAGE_CONTROL4 |
| 91 #undef IPC_MESSAGE_CONTROL5 | 94 #undef IPC_MESSAGE_CONTROL5 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 #undef IPC_SYNC_MESSAGE_ROUTED3_3 | 134 #undef IPC_SYNC_MESSAGE_ROUTED3_3 |
| 132 #undef IPC_SYNC_MESSAGE_ROUTED4_0 | 135 #undef IPC_SYNC_MESSAGE_ROUTED4_0 |
| 133 #undef IPC_SYNC_MESSAGE_ROUTED4_1 | 136 #undef IPC_SYNC_MESSAGE_ROUTED4_1 |
| 134 #undef IPC_SYNC_MESSAGE_ROUTED4_2 | 137 #undef IPC_SYNC_MESSAGE_ROUTED4_2 |
| 135 #undef IPC_SYNC_MESSAGE_ROUTED4_3 | 138 #undef IPC_SYNC_MESSAGE_ROUTED4_3 |
| 136 #undef IPC_SYNC_MESSAGE_ROUTED5_0 | 139 #undef IPC_SYNC_MESSAGE_ROUTED5_0 |
| 137 #undef IPC_SYNC_MESSAGE_ROUTED5_1 | 140 #undef IPC_SYNC_MESSAGE_ROUTED5_1 |
| 138 #undef IPC_SYNC_MESSAGE_ROUTED5_2 | 141 #undef IPC_SYNC_MESSAGE_ROUTED5_2 |
| 139 #undef IPC_SYNC_MESSAGE_ROUTED5_3 | 142 #undef IPC_SYNC_MESSAGE_ROUTED5_3 |
| 140 | 143 |
| 141 #if defined(IPC_MESSAGE_MACROS_ENUMS) | |
| 142 #undef IPC_MESSAGE_MACROS_ENUMS | |
| 143 | |
| 144 // We're using the lowest 16 bits of type for the message id, and the highest | 144 // We're using the lowest 16 bits of type for the message id, and the highest |
| 145 // 16 bits for the channel type. | 145 // 16 bits for the channel type. |
| 146 // | 146 // |
| 147 // Do label##PreStart so that automation messages keep the same id as before. | 147 // Do label##PreStart so that automation messages keep the same id as before. |
| 148 #define IPC_BEGIN_MESSAGES(label) \ | 148 #define IPC_BEGIN_MESSAGES(label) \ |
| 149 enum label##MsgType { \ | 149 enum label##MsgType { \ |
| 150 label##Start = label##MsgStart << 16, \ | 150 label##Start = label##MsgStart << 16, \ |
| 151 label##PreStart = (label##MsgStart << 16) - 1, | 151 label##PreStart = (label##MsgStart << 16) - 1, |
| 152 | 152 |
| 153 #define IPC_END_MESSAGES(label) \ | 153 #define IPC_END_MESSAGES(label) \ |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 } \ | 392 } \ |
| 393 } | 393 } |
| 394 | 394 |
| 395 #define IPC_END_MESSAGE_MAP_EX() \ | 395 #define IPC_END_MESSAGE_MAP_EX() \ |
| 396 } \ | 396 } \ |
| 397 } | 397 } |
| 398 | 398 |
| 399 #elif defined(IPC_MESSAGE_MACROS_LOG) | 399 #elif defined(IPC_MESSAGE_MACROS_LOG) |
| 400 #undef IPC_MESSAGE_MACROS_LOG | 400 #undef IPC_MESSAGE_MACROS_LOG |
| 401 | 401 |
| 402 |
| 403 // Undefine the macros from the previous pass (if any). |
| 404 #undef IPC_BEGIN_MESSAGES |
| 405 #undef IPC_END_MESSAGES |
| 406 #undef IPC_MESSAGE_CONTROL0 |
| 407 #undef IPC_MESSAGE_CONTROL1 |
| 408 #undef IPC_MESSAGE_CONTROL2 |
| 409 #undef IPC_MESSAGE_CONTROL3 |
| 410 #undef IPC_MESSAGE_CONTROL4 |
| 411 #undef IPC_MESSAGE_CONTROL5 |
| 412 #undef IPC_MESSAGE_ROUTED0 |
| 413 #undef IPC_MESSAGE_ROUTED1 |
| 414 #undef IPC_MESSAGE_ROUTED2 |
| 415 #undef IPC_MESSAGE_ROUTED3 |
| 416 #undef IPC_MESSAGE_ROUTED4 |
| 417 #undef IPC_MESSAGE_ROUTED5 |
| 418 #undef IPC_SYNC_MESSAGE_CONTROL0_0 |
| 419 #undef IPC_SYNC_MESSAGE_CONTROL0_1 |
| 420 #undef IPC_SYNC_MESSAGE_CONTROL0_2 |
| 421 #undef IPC_SYNC_MESSAGE_CONTROL0_3 |
| 422 #undef IPC_SYNC_MESSAGE_CONTROL1_0 |
| 423 #undef IPC_SYNC_MESSAGE_CONTROL1_1 |
| 424 #undef IPC_SYNC_MESSAGE_CONTROL1_2 |
| 425 #undef IPC_SYNC_MESSAGE_CONTROL1_3 |
| 426 #undef IPC_SYNC_MESSAGE_CONTROL2_0 |
| 427 #undef IPC_SYNC_MESSAGE_CONTROL2_1 |
| 428 #undef IPC_SYNC_MESSAGE_CONTROL2_2 |
| 429 #undef IPC_SYNC_MESSAGE_CONTROL2_3 |
| 430 #undef IPC_SYNC_MESSAGE_CONTROL3_1 |
| 431 #undef IPC_SYNC_MESSAGE_CONTROL3_2 |
| 432 #undef IPC_SYNC_MESSAGE_CONTROL3_3 |
| 433 #undef IPC_SYNC_MESSAGE_CONTROL4_1 |
| 434 #undef IPC_SYNC_MESSAGE_CONTROL4_2 |
| 435 #undef IPC_SYNC_MESSAGE_ROUTED0_0 |
| 436 #undef IPC_SYNC_MESSAGE_ROUTED0_1 |
| 437 #undef IPC_SYNC_MESSAGE_ROUTED0_2 |
| 438 #undef IPC_SYNC_MESSAGE_ROUTED0_3 |
| 439 #undef IPC_SYNC_MESSAGE_ROUTED1_0 |
| 440 #undef IPC_SYNC_MESSAGE_ROUTED1_1 |
| 441 #undef IPC_SYNC_MESSAGE_ROUTED1_2 |
| 442 #undef IPC_SYNC_MESSAGE_ROUTED1_3 |
| 443 #undef IPC_SYNC_MESSAGE_ROUTED1_4 |
| 444 #undef IPC_SYNC_MESSAGE_ROUTED2_0 |
| 445 #undef IPC_SYNC_MESSAGE_ROUTED2_1 |
| 446 #undef IPC_SYNC_MESSAGE_ROUTED2_2 |
| 447 #undef IPC_SYNC_MESSAGE_ROUTED2_3 |
| 448 #undef IPC_SYNC_MESSAGE_ROUTED3_0 |
| 449 #undef IPC_SYNC_MESSAGE_ROUTED3_1 |
| 450 #undef IPC_SYNC_MESSAGE_ROUTED3_2 |
| 451 #undef IPC_SYNC_MESSAGE_ROUTED3_3 |
| 452 #undef IPC_SYNC_MESSAGE_ROUTED4_0 |
| 453 #undef IPC_SYNC_MESSAGE_ROUTED4_1 |
| 454 #undef IPC_SYNC_MESSAGE_ROUTED4_2 |
| 455 #undef IPC_SYNC_MESSAGE_ROUTED4_3 |
| 456 #undef IPC_SYNC_MESSAGE_ROUTED5_0 |
| 457 #undef IPC_SYNC_MESSAGE_ROUTED5_1 |
| 458 #undef IPC_SYNC_MESSAGE_ROUTED5_2 |
| 459 #undef IPC_SYNC_MESSAGE_ROUTED5_3 |
| 460 |
| 402 #ifndef IPC_LOG_TABLE_CREATED | 461 #ifndef IPC_LOG_TABLE_CREATED |
| 403 #define IPC_LOG_TABLE_CREATED | 462 #define IPC_LOG_TABLE_CREATED |
| 404 typedef void (*LogFunction)(uint32 type, | 463 typedef void (*LogFunction)(uint32 type, |
| 405 std::wstring* name, | 464 std::wstring* name, |
| 406 const IPC::Message* msg, | 465 const IPC::Message* msg, |
| 407 std::wstring* params); | 466 std::wstring* params); |
| 408 | 467 |
| 409 LogFunction g_log_function_mapping[LastMsgIndex]; | 468 LogFunction g_log_function_mapping[LastMsgIndex]; |
| 410 #endif | 469 #endif |
| 411 | 470 |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 594 | 653 |
| 595 #define IPC_SYNC_MESSAGE_ROUTED5_2(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out, type2_out) \ | 654 #define IPC_SYNC_MESSAGE_ROUTED5_2(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out, type2_out) \ |
| 596 IPC_MESSAGE_LOG(msg_class) | 655 IPC_MESSAGE_LOG(msg_class) |
| 597 | 656 |
| 598 #define IPC_SYNC_MESSAGE_ROUTED5_3(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out, type2_out, type3_out) \ | 657 #define IPC_SYNC_MESSAGE_ROUTED5_3(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out, type2_out, type3_out) \ |
| 599 IPC_MESSAGE_LOG(msg_class) | 658 IPC_MESSAGE_LOG(msg_class) |
| 600 | 659 |
| 601 #elif defined(IPC_MESSAGE_MACROS_CLASSES) | 660 #elif defined(IPC_MESSAGE_MACROS_CLASSES) |
| 602 #undef IPC_MESSAGE_MACROS_CLASSES | 661 #undef IPC_MESSAGE_MACROS_CLASSES |
| 603 | 662 |
| 663 |
| 664 // Undefine the macros from the previous pass (if any). |
| 665 #undef IPC_BEGIN_MESSAGES |
| 666 #undef IPC_END_MESSAGES |
| 667 #undef IPC_MESSAGE_CONTROL0 |
| 668 #undef IPC_MESSAGE_CONTROL1 |
| 669 #undef IPC_MESSAGE_CONTROL2 |
| 670 #undef IPC_MESSAGE_CONTROL3 |
| 671 #undef IPC_MESSAGE_CONTROL4 |
| 672 #undef IPC_MESSAGE_CONTROL5 |
| 673 #undef IPC_MESSAGE_ROUTED0 |
| 674 #undef IPC_MESSAGE_ROUTED1 |
| 675 #undef IPC_MESSAGE_ROUTED2 |
| 676 #undef IPC_MESSAGE_ROUTED3 |
| 677 #undef IPC_MESSAGE_ROUTED4 |
| 678 #undef IPC_MESSAGE_ROUTED5 |
| 679 #undef IPC_SYNC_MESSAGE_CONTROL0_0 |
| 680 #undef IPC_SYNC_MESSAGE_CONTROL0_1 |
| 681 #undef IPC_SYNC_MESSAGE_CONTROL0_2 |
| 682 #undef IPC_SYNC_MESSAGE_CONTROL0_3 |
| 683 #undef IPC_SYNC_MESSAGE_CONTROL1_0 |
| 684 #undef IPC_SYNC_MESSAGE_CONTROL1_1 |
| 685 #undef IPC_SYNC_MESSAGE_CONTROL1_2 |
| 686 #undef IPC_SYNC_MESSAGE_CONTROL1_3 |
| 687 #undef IPC_SYNC_MESSAGE_CONTROL2_0 |
| 688 #undef IPC_SYNC_MESSAGE_CONTROL2_1 |
| 689 #undef IPC_SYNC_MESSAGE_CONTROL2_2 |
| 690 #undef IPC_SYNC_MESSAGE_CONTROL2_3 |
| 691 #undef IPC_SYNC_MESSAGE_CONTROL3_1 |
| 692 #undef IPC_SYNC_MESSAGE_CONTROL3_2 |
| 693 #undef IPC_SYNC_MESSAGE_CONTROL3_3 |
| 694 #undef IPC_SYNC_MESSAGE_CONTROL4_1 |
| 695 #undef IPC_SYNC_MESSAGE_CONTROL4_2 |
| 696 #undef IPC_SYNC_MESSAGE_ROUTED0_0 |
| 697 #undef IPC_SYNC_MESSAGE_ROUTED0_1 |
| 698 #undef IPC_SYNC_MESSAGE_ROUTED0_2 |
| 699 #undef IPC_SYNC_MESSAGE_ROUTED0_3 |
| 700 #undef IPC_SYNC_MESSAGE_ROUTED1_0 |
| 701 #undef IPC_SYNC_MESSAGE_ROUTED1_1 |
| 702 #undef IPC_SYNC_MESSAGE_ROUTED1_2 |
| 703 #undef IPC_SYNC_MESSAGE_ROUTED1_3 |
| 704 #undef IPC_SYNC_MESSAGE_ROUTED1_4 |
| 705 #undef IPC_SYNC_MESSAGE_ROUTED2_0 |
| 706 #undef IPC_SYNC_MESSAGE_ROUTED2_1 |
| 707 #undef IPC_SYNC_MESSAGE_ROUTED2_2 |
| 708 #undef IPC_SYNC_MESSAGE_ROUTED2_3 |
| 709 #undef IPC_SYNC_MESSAGE_ROUTED3_0 |
| 710 #undef IPC_SYNC_MESSAGE_ROUTED3_1 |
| 711 #undef IPC_SYNC_MESSAGE_ROUTED3_2 |
| 712 #undef IPC_SYNC_MESSAGE_ROUTED3_3 |
| 713 #undef IPC_SYNC_MESSAGE_ROUTED4_0 |
| 714 #undef IPC_SYNC_MESSAGE_ROUTED4_1 |
| 715 #undef IPC_SYNC_MESSAGE_ROUTED4_2 |
| 716 #undef IPC_SYNC_MESSAGE_ROUTED4_3 |
| 717 #undef IPC_SYNC_MESSAGE_ROUTED5_0 |
| 718 #undef IPC_SYNC_MESSAGE_ROUTED5_1 |
| 719 #undef IPC_SYNC_MESSAGE_ROUTED5_2 |
| 720 #undef IPC_SYNC_MESSAGE_ROUTED5_3 |
| 721 |
| 604 #define IPC_BEGIN_MESSAGES(label) | 722 #define IPC_BEGIN_MESSAGES(label) |
| 605 #define IPC_END_MESSAGES(label) | 723 #define IPC_END_MESSAGES(label) |
| 606 | 724 |
| 607 #define IPC_MESSAGE_CONTROL0(msg_class) \ | 725 #define IPC_MESSAGE_CONTROL0(msg_class) \ |
| 608 class msg_class : public IPC::Message { \ | 726 class msg_class : public IPC::Message { \ |
| 609 public: \ | 727 public: \ |
| 610 enum { ID = msg_class##__ID }; \ | 728 enum { ID = msg_class##__ID }; \ |
| 611 msg_class() \ | 729 msg_class() \ |
| 612 : IPC::Message(MSG_ROUTING_CONTROL, \ | 730 : IPC::Message(MSG_ROUTING_CONTROL, \ |
| 613 ID, \ | 731 ID, \ |
| 614 PRIORITY_NORMAL) {} \ | 732 PRIORITY_NORMAL) {} \ |
| 615 }; | 733 }; |
| 616 | 734 |
| 617 #define IPC_MESSAGE_CONTROL1(msg_class, type1) \ | 735 #define IPC_MESSAGE_CONTROL1(msg_class, type1) \ |
| 618 class msg_class : public IPC::MessageWithTuple< Tuple1<type1> > { \ | 736 class msg_class : public IPC::MessageWithTuple< Tuple1<type1> > { \ |
| 619 public: \ | 737 public: \ |
| 620 enum { ID = msg_class##__ID }; \ | 738 enum { ID = msg_class##__ID }; \ |
| 621 msg_class(const type1& arg1) \ | 739 msg_class(const type1& arg1); \ |
| 622 : IPC::MessageWithTuple< Tuple1<type1> >(MSG_ROUTING_CONTROL, \ | 740 ~msg_class(); \ |
| 623 ID, \ | 741 static void Log(const Message* msg, std::wstring* l); \ |
| 624 MakeRefTuple(arg1)) {} \ | |
| 625 }; | 742 }; |
| 626 | 743 |
| 627 #define IPC_MESSAGE_CONTROL2(msg_class, type1, type2) \ | 744 #define IPC_MESSAGE_CONTROL2(msg_class, type1, type2) \ |
| 628 class msg_class : public IPC::MessageWithTuple< Tuple2<type1, type2> > { \ | 745 class msg_class : public IPC::MessageWithTuple< Tuple2<type1, type2> > { \ |
| 629 public: \ | 746 public: \ |
| 630 enum { ID = msg_class##__ID }; \ | 747 enum { ID = msg_class##__ID }; \ |
| 631 msg_class(const type1& arg1, const type2& arg2) \ | 748 msg_class(const type1& arg1, const type2& arg2); \ |
| 632 : IPC::MessageWithTuple< Tuple2<type1, type2> >( \ | 749 ~msg_class(); \ |
| 633 MSG_ROUTING_CONTROL, \ | 750 static void Log(const Message* msg, std::wstring* l); \ |
| 634 ID, \ | |
| 635 MakeRefTuple(arg1, arg2)) {} \ | |
| 636 }; | 751 }; |
| 637 | 752 |
| 638 #define IPC_MESSAGE_CONTROL3(msg_class, type1, type2, type3) \ | 753 #define IPC_MESSAGE_CONTROL3(msg_class, type1, type2, type3) \ |
| 639 class msg_class : \ | 754 class msg_class : \ |
| 640 public IPC::MessageWithTuple< Tuple3<type1, type2, type3> > { \ | 755 public IPC::MessageWithTuple< Tuple3<type1, type2, type3> > { \ |
| 641 public: \ | 756 public: \ |
| 642 enum { ID = msg_class##__ID }; \ | 757 enum { ID = msg_class##__ID }; \ |
| 643 msg_class(const type1& arg1, const type2& arg2, const type3& arg3) \ | 758 msg_class(const type1& arg1, const type2& arg2, const type3& arg3); \ |
| 644 : IPC::MessageWithTuple< Tuple3<type1, type2, type3> >( \ | 759 ~msg_class(); \ |
| 645 MSG_ROUTING_CONTROL, \ | 760 static void Log(const Message* msg, std::wstring* l); \ |
| 646 ID, \ | |
| 647 MakeRefTuple(arg1, arg2, arg3)) {} \ | |
| 648 }; | 761 }; |
| 649 | 762 |
| 650 #define IPC_MESSAGE_CONTROL4(msg_class, type1, type2, type3, type4) \ | 763 #define IPC_MESSAGE_CONTROL4(msg_class, type1, type2, type3, type4) \ |
| 651 class msg_class : \ | 764 class msg_class : \ |
| 652 public IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> > { \ | 765 public IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> > { \ |
| 653 public: \ | 766 public: \ |
| 654 enum { ID = msg_class##__ID }; \ | 767 enum { ID = msg_class##__ID }; \ |
| 655 msg_class(const type1& arg1, const type2& arg2, const type3& arg3, \ | 768 msg_class(const type1& arg1, const type2& arg2, const type3& arg3, \ |
| 656 const type4& arg4) \ | 769 const type4& arg4); \ |
| 657 : IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> >( \ | 770 ~msg_class(); \ |
| 658 MSG_ROUTING_CONTROL, \ | 771 static void Log(const Message* msg, std::wstring* l); \ |
| 659 ID, \ | |
| 660 MakeRefTuple(arg1, arg2, arg3, arg4)) {} \ | |
| 661 }; | 772 }; |
| 662 | 773 |
| 663 #define IPC_MESSAGE_CONTROL5(msg_class, type1, type2, type3, type4, type5) \ | 774 #define IPC_MESSAGE_CONTROL5(msg_class, type1, type2, type3, type4, type5) \ |
| 664 class msg_class : \ | 775 class msg_class : \ |
| 665 public IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >
{ \ | 776 public IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >
{ \ |
| 666 public: \ | 777 public: \ |
| 667 enum { ID = msg_class##__ID }; \ | 778 enum { ID = msg_class##__ID }; \ |
| 668 msg_class(const type1& arg1, const type2& arg2, \ | 779 msg_class(const type1& arg1, const type2& arg2, \ |
| 669 const type3& arg3, const type4& arg4, const type5& arg5) \ | 780 const type3& arg3, const type4& arg4, const type5& arg5); \ |
| 670 : IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >( \ | 781 ~msg_class(); \ |
| 671 MSG_ROUTING_CONTROL, \ | 782 static void Log(const Message* msg, std::wstring* l); \ |
| 672 ID, \ | |
| 673 MakeRefTuple(arg1, arg2, arg3, arg4, arg5)) {} \ | |
| 674 }; | 783 }; |
| 675 | 784 |
| 676 #define IPC_MESSAGE_ROUTED0(msg_class) \ | 785 #define IPC_MESSAGE_ROUTED0(msg_class) \ |
| 677 class msg_class : public IPC::Message { \ | 786 class msg_class : public IPC::Message { \ |
| 678 public: \ | 787 public: \ |
| 679 enum { ID = msg_class##__ID }; \ | 788 enum { ID = msg_class##__ID }; \ |
| 680 msg_class(int32 routing_id) \ | 789 msg_class(int32 routing_id) \ |
| 681 : IPC::Message(routing_id, ID, PRIORITY_NORMAL) {} \ | 790 : IPC::Message(routing_id, ID, PRIORITY_NORMAL) {} \ |
| 682 }; | 791 }; |
| 683 | 792 |
| 684 #define IPC_MESSAGE_ROUTED1(msg_class, type1) \ | 793 #define IPC_MESSAGE_ROUTED1(msg_class, type1) \ |
| 685 class msg_class : public IPC::MessageWithTuple< Tuple1<type1> > { \ | 794 class msg_class : public IPC::MessageWithTuple< Tuple1<type1> > { \ |
| 686 public: \ | 795 public: \ |
| 687 enum { ID = msg_class##__ID }; \ | 796 enum { ID = msg_class##__ID }; \ |
| 688 msg_class(int32 routing_id, const type1& arg1) \ | 797 msg_class(int32 routing_id, const type1& arg1); \ |
| 689 : IPC::MessageWithTuple< Tuple1<type1> >(routing_id, ID, \ | 798 ~msg_class(); \ |
| 690 MakeRefTuple(arg1)) {} \ | 799 static void Log(const Message* msg, std::wstring* l); \ |
| 691 }; | 800 }; |
| 692 | 801 |
| 693 #define IPC_MESSAGE_ROUTED2(msg_class, type1, type2) \ | 802 #define IPC_MESSAGE_ROUTED2(msg_class, type1, type2) \ |
| 694 class msg_class : public IPC::MessageWithTuple< Tuple2<type1, type2> > { \ | 803 class msg_class \ |
| 695 public: \ | 804 : public IPC::MessageWithTuple< Tuple2<type1, type2> > { \ |
| 696 enum { ID = msg_class##__ID }; \ | 805 public: \ |
| 697 msg_class(int32 routing_id, const type1& arg1, const type2& arg2) \ | 806 enum { ID = msg_class##__ID }; \ |
| 698 : IPC::MessageWithTuple< Tuple2<type1, type2> >( \ | 807 msg_class(int32 routing_id, const type1& arg1, const type2& arg2); \ |
| 699 routing_id, ID, MakeRefTuple(arg1, arg2)) {} \ | 808 ~msg_class(); \ |
| 809 static void Log(const Message* msg, std::wstring* l); \ |
| 700 }; | 810 }; |
| 701 | 811 |
| 702 #define IPC_MESSAGE_ROUTED3(msg_class, type1, type2, type3) \ | 812 #define IPC_MESSAGE_ROUTED3(msg_class, type1, type2, type3) \ |
| 703 class msg_class : \ | 813 class msg_class \ |
| 704 public IPC::MessageWithTuple< Tuple3<type1, type2, type3> > { \ | 814 : public IPC::MessageWithTuple< Tuple3<type1, type2, type3> > { \ |
| 705 public: \ | 815 public: \ |
| 706 enum { ID = msg_class##__ID }; \ | 816 enum { ID = msg_class##__ID }; \ |
| 707 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ | 817 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ |
| 708 const type3& arg3) \ | 818 const type3& arg3); \ |
| 709 : IPC::MessageWithTuple< Tuple3<type1, type2, type3> >( \ | 819 ~msg_class(); \ |
| 710 routing_id, ID, MakeRefTuple(arg1, arg2, arg3)) {} \ | 820 static void Log(const Message* msg, std::wstring* l); \ |
| 711 }; | 821 }; |
| 712 | 822 |
| 713 #define IPC_MESSAGE_ROUTED4(msg_class, type1, type2, type3, type4) \ | 823 #define IPC_MESSAGE_ROUTED4(msg_class, type1, type2, type3, type4) \ |
| 714 class msg_class : \ | 824 class msg_class \ |
| 715 public IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> > { \ | 825 : public IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> > { \ |
| 716 public: \ | 826 public: \ |
| 717 enum { ID = msg_class##__ID }; \ | 827 enum { ID = msg_class##__ID }; \ |
| 718 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ | 828 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ |
| 719 const type3& arg3, const type4& arg4) \ | 829 const type3& arg3, const type4& arg4); \ |
| 720 : IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> >( \ | 830 ~msg_class(); \ |
| 721 routing_id, ID, MakeRefTuple(arg1, arg2, arg3, arg4)) {} \ | 831 static void Log(const Message* msg, std::wstring* l); \ |
| 722 }; | 832 }; |
| 723 | 833 |
| 724 #define IPC_MESSAGE_ROUTED5(msg_class, type1, type2, type3, type4, type5) \ | 834 #define IPC_MESSAGE_ROUTED5(msg_class, type1, type2, type3, type4, type5) \ |
| 725 class msg_class : \ | 835 class msg_class \ |
| 726 public IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >
{ \ | 836 : public IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, \ |
| 727 public: \ | 837 type5> > { \ |
| 728 enum { ID = msg_class##__ID }; \ | 838 public: \ |
| 729 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ | 839 enum { ID = msg_class##__ID }; \ |
| 730 const type3& arg3, const type4& arg4, const type5& arg5) \ | 840 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ |
| 731 : IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >( \ | 841 const type3& arg3, const type4& arg4, const type5& arg5); \ |
| 732 routing_id, ID, MakeRefTuple(arg1, arg2, arg3, arg4, arg5)) {} \ | 842 ~msg_class(); \ |
| 843 static void Log(const Message* msg, std::wstring* l); \ |
| 733 }; | 844 }; |
| 734 | 845 |
| 735 #define IPC_SYNC_MESSAGE_CONTROL0_0(msg_class) \ | 846 #define IPC_SYNC_MESSAGE_CONTROL0_0(msg_class) \ |
| 736 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple0 > { \ | 847 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple0 > { \ |
| 737 public: \ | 848 public: \ |
| 738 enum { ID = msg_class##__ID }; \ | 849 enum { ID = msg_class##__ID }; \ |
| 739 msg_class() \ | 850 msg_class(); \ |
| 740 : IPC::MessageWithReply<Tuple0, Tuple0 >( \ | 851 ~msg_class(); \ |
| 741 MSG_ROUTING_CONTROL, ID, \ | 852 static void Log(const Message* msg, std::wstring* l); \ |
| 742 MakeTuple(), MakeTuple()) {} \ | |
| 743 }; | 853 }; |
| 744 | 854 |
| 745 #define IPC_SYNC_MESSAGE_CONTROL0_1(msg_class, type1_out) \ | 855 #define IPC_SYNC_MESSAGE_CONTROL0_1(msg_class, type1_out) \ |
| 746 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> > {
\ | 856 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> > {
\ |
| 747 public: \ | 857 public: \ |
| 748 enum { ID = msg_class##__ID }; \ | 858 enum { ID = msg_class##__ID }; \ |
| 749 msg_class(type1_out* arg1) \ | 859 msg_class(type1_out* arg1); \ |
| 750 : IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> >( \ | 860 ~msg_class(); \ |
| 751 MSG_ROUTING_CONTROL, \ | 861 static void Log(const Message* msg, std::wstring* l); \ |
| 752 ID, \ | |
| 753 MakeTuple(), MakeRefTuple(*arg1)) {} \ | |
| 754 }; | 862 }; |
| 755 | 863 |
| 756 #define IPC_SYNC_MESSAGE_CONTROL0_2(msg_class, type1_out, type2_out) \ | 864 #define IPC_SYNC_MESSAGE_CONTROL0_2(msg_class, type1_out, type2_out) \ |
| 757 class msg_class : \ | 865 class msg_class : \ |
| 758 public IPC::MessageWithReply<Tuple0, Tuple2<type1_out&, type2_out&> > { \ | 866 public IPC::MessageWithReply<Tuple0, Tuple2<type1_out&, type2_out&> > { \ |
| 759 public: \ | 867 public: \ |
| 760 enum { ID = msg_class##__ID }; \ | 868 enum { ID = msg_class##__ID }; \ |
| 761 msg_class(type1_out* arg1, type2_out* arg2) \ | 869 msg_class(type1_out* arg1, type2_out* arg2); \ |
| 762 : IPC::MessageWithReply<Tuple0, Tuple2<type1_out&, type2_out&> >( \ | 870 ~msg_class(); \ |
| 763 MSG_ROUTING_CONTROL, \ | 871 static void Log(const Message* msg, std::wstring* l); \ |
| 764 ID, \ | |
| 765 MakeTuple(), MakeRefTuple(*arg1, *arg2)) {} \ | |
| 766 }; | 872 }; |
| 767 | 873 |
| 768 #define IPC_SYNC_MESSAGE_CONTROL0_3(msg_class, type1_out, type2_out, type3_out)
\ | 874 #define IPC_SYNC_MESSAGE_CONTROL0_3(msg_class, type1_out, type2_out, type3_out)
\ |
| 769 class msg_class : \ | 875 class msg_class : \ |
| 770 public IPC::MessageWithReply<Tuple0, \ | 876 public IPC::MessageWithReply<Tuple0, \ |
| 771 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ | 877 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ |
| 772 public: \ | 878 public: \ |
| 773 enum { ID = msg_class##__ID }; \ | 879 enum { ID = msg_class##__ID }; \ |
| 774 msg_class(type1_out* arg1, type2_out* arg2, type3_out* arg3) \ | 880 msg_class(type1_out* arg1, type2_out* arg2, type3_out* arg3); \ |
| 775 : IPC::MessageWithReply<Tuple0, \ | 881 ~msg_class(); \ |
| 776 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ | 882 static void Log(const Message* msg, std::wstring* l); \ |
| 777 ID, \ | |
| 778 MakeTuple(), MakeRefTuple(*arg1, *arg2, *arg3)) {} \ | |
| 779 }; | 883 }; |
| 780 | 884 |
| 781 #define IPC_SYNC_MESSAGE_CONTROL1_0(msg_class, type1_in) \ | 885 #define IPC_SYNC_MESSAGE_CONTROL1_0(msg_class, type1_in) \ |
| 782 class msg_class : \ | 886 class msg_class : \ |
| 783 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 > { \ | 887 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 > { \ |
| 784 public: \ | 888 public: \ |
| 785 enum { ID = msg_class##__ID }; \ | 889 enum { ID = msg_class##__ID }; \ |
| 786 msg_class(const type1_in& arg1) \ | 890 msg_class(const type1_in& arg1); \ |
| 787 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 >( \ | 891 ~msg_class(); \ |
| 788 MSG_ROUTING_CONTROL, ID, \ | 892 static void Log(const Message* msg, std::wstring* l); \ |
| 789 MakeRefTuple(arg1), MakeTuple()) {} \ | |
| 790 }; | 893 }; |
| 791 | 894 |
| 792 #define IPC_SYNC_MESSAGE_CONTROL1_1(msg_class, type1_in, type1_out) \ | 895 #define IPC_SYNC_MESSAGE_CONTROL1_1(msg_class, type1_in, type1_out) \ |
| 793 class msg_class : \ | 896 class msg_class : \ |
| 794 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> > { \ | 897 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> > { \ |
| 795 public: \ | 898 public: \ |
| 796 enum { ID = msg_class##__ID }; \ | 899 enum { ID = msg_class##__ID }; \ |
| 797 msg_class(const type1_in& arg1, type1_out* arg2) \ | 900 msg_class(const type1_in& arg1, type1_out* arg2); \ |
| 798 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> >( \ | 901 ~msg_class(); \ |
| 799 MSG_ROUTING_CONTROL, ID, \ | 902 static void Log(const Message* msg, std::wstring* l); \ |
| 800 MakeRefTuple(arg1), MakeRefTuple(*arg2)) {} \ | |
| 801 }; | 903 }; |
| 802 | 904 |
| 803 #define IPC_SYNC_MESSAGE_CONTROL1_2(msg_class, type1_in, type1_out, type2_out) \ | 905 #define IPC_SYNC_MESSAGE_CONTROL1_2(msg_class, type1_in, type1_out, type2_out) \ |
| 804 class msg_class : \ | 906 class msg_class : \ |
| 805 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_ou
t&> > { \ | 907 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_ou
t&> > { \ |
| 806 public: \ | 908 public: \ |
| 807 enum { ID = msg_class##__ID }; \ | 909 enum { ID = msg_class##__ID }; \ |
| 808 msg_class(const type1_in& arg1, type1_out* arg2, type2_out* arg3) \ | 910 msg_class(const type1_in& arg1, type1_out* arg2, type2_out* arg3); \ |
| 809 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_out&>
>( \ | 911 ~msg_class(); \ |
| 810 MSG_ROUTING_CONTROL, ID, \ | 912 static void Log(const Message* msg, std::wstring* l); \ |
| 811 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3)) {} \ | |
| 812 }; | 913 }; |
| 813 | 914 |
| 814 #define IPC_SYNC_MESSAGE_CONTROL1_3(msg_class, type1_in, type1_out, type2_out, t
ype3_out) \ | 915 #define IPC_SYNC_MESSAGE_CONTROL1_3(msg_class, type1_in, type1_out, type2_out, t
ype3_out) \ |
| 815 class msg_class : \ | 916 class msg_class : \ |
| 816 public IPC::MessageWithReply<Tuple1<type1_in>, \ | 917 public IPC::MessageWithReply<Tuple1<type1_in>, \ |
| 817 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ | 918 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ |
| 818 public: \ | 919 public: \ |
| 819 enum { ID = msg_class##__ID }; \ | 920 enum { ID = msg_class##__ID }; \ |
| 820 msg_class(const type1_in& arg1, type1_out* arg2, type2_out* arg3, type3_out*
arg4) \ | 921 msg_class(const type1_in& arg1, type1_out* arg2, type2_out* arg3, type3_out*
arg4); \ |
| 821 : IPC::MessageWithReply<Tuple1<type1_in>, \ | 922 ~msg_class(); \ |
| 822 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ | 923 static void Log(const Message* msg, std::wstring* l); \ |
| 823 ID, \ | |
| 824 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3, *arg4)) {} \ | |
| 825 }; | 924 }; |
| 826 | 925 |
| 827 #define IPC_SYNC_MESSAGE_CONTROL2_0(msg_class, type1_in, type2_in) \ | 926 #define IPC_SYNC_MESSAGE_CONTROL2_0(msg_class, type1_in, type2_in) \ |
| 828 class msg_class : \ | 927 class msg_class : \ |
| 829 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 > { \ | 928 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 > { \ |
| 830 public: \ | 929 public: \ |
| 831 enum { ID = msg_class##__ID }; \ | 930 enum { ID = msg_class##__ID }; \ |
| 832 msg_class(const type1_in& arg1, const type2_in& arg2) \ | 931 msg_class(const type1_in& arg1, const type2_in& arg2); \ |
| 833 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 >( \ | 932 ~msg_class(); \ |
| 834 MSG_ROUTING_CONTROL, ID, \ | 933 static void Log(const Message* msg, std::wstring* l); \ |
| 835 MakeRefTuple(arg1, arg2), MakeTuple()) {} \ | |
| 836 }; | 934 }; |
| 837 | 935 |
| 838 #define IPC_SYNC_MESSAGE_CONTROL2_1(msg_class, type1_in, type2_in, type1_out) \ | 936 #define IPC_SYNC_MESSAGE_CONTROL2_1(msg_class, type1_in, type2_in, type1_out) \ |
| 839 class msg_class : \ | 937 class msg_class : \ |
| 840 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&
> > { \ | 938 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&
> > { \ |
| 841 public: \ | 939 public: \ |
| 842 enum { ID = msg_class##__ID }; \ | 940 enum { ID = msg_class##__ID }; \ |
| 843 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3) \ | 941 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3); \ |
| 844 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&> >
( \ | 942 ~msg_class(); \ |
| 845 MSG_ROUTING_CONTROL, ID, \ | 943 static void Log(const Message* msg, std::wstring* l); \ |
| 846 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3)) {} \ | |
| 847 }; | 944 }; |
| 848 | 945 |
| 849 #define IPC_SYNC_MESSAGE_CONTROL2_2(msg_class, type1_in, type2_in, type1_out, ty
pe2_out) \ | 946 #define IPC_SYNC_MESSAGE_CONTROL2_2(msg_class, type1_in, type2_in, type1_out, ty
pe2_out) \ |
| 850 class msg_class : \ | 947 class msg_class : \ |
| 851 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 948 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
| 852 Tuple2<type1_out&, type2_out&> > { \ | 949 Tuple2<type1_out&, type2_out&> > { \ |
| 853 public: \ | 950 public: \ |
| 854 enum { ID = msg_class##__ID }; \ | 951 enum { ID = msg_class##__ID }; \ |
| 855 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3, type2
_out* arg4) \ | 952 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3, type2_
out* arg4); \ |
| 856 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 953 ~msg_class(); \ |
| 857 Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ | 954 static void Log(const Message* msg, std::wstring* l); \ |
| 858 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4)) {} \ | |
| 859 }; | 955 }; |
| 860 | 956 |
| 861 #define IPC_SYNC_MESSAGE_CONTROL2_3(msg_class, type1_in, type2_in, type1_out, ty
pe2_out, type3_out) \ | 957 #define IPC_SYNC_MESSAGE_CONTROL2_3(msg_class, type1_in, type2_in, type1_out, ty
pe2_out, type3_out) \ |
| 862 class msg_class : \ | 958 class msg_class : \ |
| 863 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 959 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
| 864 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 960 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
| 865 public: \ | 961 public: \ |
| 866 enum { ID = msg_class##__ID }; \ | 962 enum { ID = msg_class##__ID }; \ |
| 867 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3, type2
_out* arg4, type3_out* arg5) \ | 963 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3, type2_
out* arg4, type3_out* arg5); \ |
| 868 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 964 ~msg_class(); \ |
| 869 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ | 965 static void Log(const Message* msg, std::wstring* l); \ |
| 870 ID, \ | |
| 871 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4, *arg5)) {} \ | |
| 872 }; | 966 }; |
| 873 | 967 |
| 874 #define IPC_SYNC_MESSAGE_CONTROL3_1(msg_class, type1_in, type2_in, type3_in, typ
e1_out) \ | 968 #define IPC_SYNC_MESSAGE_CONTROL3_1(msg_class, type1_in, type2_in, type3_in, typ
e1_out) \ |
| 875 class msg_class : \ | 969 class msg_class : \ |
| 876 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 970 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
| 877 Tuple1<type1_out&> > { \ | 971 Tuple1<type1_out&> > { \ |
| 878 public: \ | 972 public: \ |
| 879 enum { ID = msg_class##__ID }; \ | 973 enum { ID = msg_class##__ID }; \ |
| 880 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
type1_out* arg4) \ | 974 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3, t
ype1_out* arg4); \ |
| 881 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 975 ~msg_class(); \ |
| 882 Tuple1<type1_out&> >(MSG_ROUTING_CONTROL, ID, \ | 976 static void Log(const Message* msg, std::wstring* l); \ |
| 883 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4)) {} \ | |
| 884 }; | 977 }; |
| 885 | 978 |
| 886 #define IPC_SYNC_MESSAGE_CONTROL3_2(msg_class, type1_in, type2_in, type3_in, typ
e1_out, type2_out) \ | 979 #define IPC_SYNC_MESSAGE_CONTROL3_2(msg_class, type1_in, type2_in, type3_in, typ
e1_out, type2_out) \ |
| 887 class msg_class : \ | 980 class msg_class : \ |
| 888 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 981 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
| 889 Tuple2<type1_out&, type2_out&> > { \ | 982 Tuple2<type1_out&, type2_out&> > { \ |
| 890 public: \ | 983 public: \ |
| 891 enum { ID = msg_class##__ID }; \ | 984 enum { ID = msg_class##__ID }; \ |
| 892 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
type1_out* arg4, type2_out* arg5) \ | 985 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3, t
ype1_out* arg4, type2_out* arg5); \ |
| 893 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 986 ~msg_class(); \ |
| 894 Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ | 987 static void Log(const Message* msg, std::wstring* l); \ |
| 895 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5)) {} \ | |
| 896 }; | 988 }; |
| 897 | 989 |
| 898 #define IPC_SYNC_MESSAGE_CONTROL3_3(msg_class, type1_in, type2_in, type3_in, typ
e1_out, type2_out, type3_out) \ | 990 #define IPC_SYNC_MESSAGE_CONTROL3_3(msg_class, type1_in, type2_in, type3_in, typ
e1_out, type2_out, type3_out) \ |
| 899 class msg_class : \ | 991 class msg_class : \ |
| 900 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 992 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
| 901 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 993 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
| 902 public: \ | 994 public: \ |
| 903 enum { ID = msg_class##__ID }; \ | 995 enum { ID = msg_class##__ID }; \ |
| 904 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
type1_out* arg4, type2_out* arg5, type3_out* arg6) \ | 996 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3, t
ype1_out* arg4, type2_out* arg5, type3_out* arg6); \ |
| 905 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 997 ~msg_class(); \ |
| 906 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ | 998 static void Log(const Message* msg, std::wstring* l); \ |
| 907 ID, \ | |
| 908 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5, *arg6)) {
} \ | |
| 909 }; | 999 }; |
| 910 | 1000 |
| 911 #define IPC_SYNC_MESSAGE_CONTROL4_1(msg_class, type1_in, type2_in, type3_in, typ
e4_in, type1_out) \ | 1001 #define IPC_SYNC_MESSAGE_CONTROL4_1(msg_class, type1_in, type2_in, type3_in, typ
e4_in, type1_out) \ |
| 912 class msg_class : \ | 1002 class msg_class : \ |
| 913 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 1003 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
| 914 Tuple1<type1_out&> > { \ | 1004 Tuple1<type1_out&> > { \ |
| 915 public: \ | 1005 public: \ |
| 916 enum { ID = msg_class##__ID }; \ | 1006 enum { ID = msg_class##__ID }; \ |
| 917 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
const type4_in& arg4, type1_out* arg6) \ | 1007 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3, c
onst type4_in& arg4, type1_out* arg6); \ |
| 918 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 1008 ~msg_class(); \ |
| 919 Tuple1<type1_out&> >(MSG_ROUTING_CONTROL, ID, \ | 1009 static void Log(const Message* msg, std::wstring* l); \ |
| 920 MakeRefTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg6)) {} \ | |
| 921 }; | 1010 }; |
| 922 | 1011 |
| 923 #define IPC_SYNC_MESSAGE_CONTROL4_2(msg_class, type1_in, type2_in, type3_in, typ
e4_in, type1_out, type2_out) \ | 1012 #define IPC_SYNC_MESSAGE_CONTROL4_2(msg_class, type1_in, type2_in, type3_in, typ
e4_in, type1_out, type2_out) \ |
| 924 class msg_class : \ | 1013 class msg_class : \ |
| 925 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 1014 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
| 926 Tuple2<type1_out&, type2_out&> > { \ | 1015 Tuple2<type1_out&, type2_out&> > { \ |
| 927 public: \ | 1016 public: \ |
| 928 enum { ID = msg_class##__ID }; \ | 1017 enum { ID = msg_class##__ID }; \ |
| 929 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
const type4_in& arg4, type1_out* arg5, type2_out* arg6) \ | 1018 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3, c
onst type4_in& arg4, type1_out* arg5, type2_out* arg6); \ |
| 930 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 1019 ~msg_class(); \ |
| 931 Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ | 1020 static void Log(const Message* msg, std::wstring* l); \ |
| 932 MakeRefTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg5, *arg6)) {}
\ | 1021 }; |
| 1022 |
| 1023 #define IPC_SYNC_MESSAGE_ROUTED0_0(msg_class) \ |
| 1024 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple0 > { \ |
| 1025 public: \ |
| 1026 enum { ID = msg_class##__ID }; \ |
| 1027 msg_class(int routing_id); \ |
| 1028 ~msg_class(); \ |
| 1029 static void Log(const Message* msg, std::wstring* l); \ |
| 933 }; | 1030 }; |
| 934 | 1031 |
| 935 #define IPC_SYNC_MESSAGE_ROUTED0_1(msg_class, type1_out) \ | 1032 #define IPC_SYNC_MESSAGE_ROUTED0_1(msg_class, type1_out) \ |
| 936 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> > {
\ | 1033 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> > {
\ |
| 937 public: \ | 1034 public: \ |
| 938 enum { ID = msg_class##__ID }; \ | 1035 enum { ID = msg_class##__ID }; \ |
| 939 msg_class(int routing_id, type1_out* arg1) \ | 1036 msg_class(int routing_id, type1_out* arg1); \ |
| 940 : IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> >( \ | 1037 ~msg_class(); \ |
| 941 routing_id, ID, \ | 1038 static void Log(const Message* msg, std::wstring* l); \ |
| 942 MakeTuple(), MakeRefTuple(*arg1)) {} \ | |
| 943 }; | |
| 944 | |
| 945 #define IPC_SYNC_MESSAGE_ROUTED0_0(msg_class) \ | |
| 946 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple0 > { \ | |
| 947 public: \ | |
| 948 enum { ID = msg_class##__ID }; \ | |
| 949 msg_class(int routing_id) \ | |
| 950 : IPC::MessageWithReply<Tuple0, Tuple0 >( \ | |
| 951 routing_id, ID, \ | |
| 952 MakeTuple(), MakeTuple()) {} \ | |
| 953 }; | 1039 }; |
| 954 | 1040 |
| 955 #define IPC_SYNC_MESSAGE_ROUTED0_2(msg_class, type1_out, type2_out) \ | 1041 #define IPC_SYNC_MESSAGE_ROUTED0_2(msg_class, type1_out, type2_out) \ |
| 956 class msg_class : \ | 1042 class msg_class : \ |
| 957 public IPC::MessageWithReply<Tuple0, Tuple2<type1_out&, type2_out&> > { \ | 1043 public IPC::MessageWithReply<Tuple0, Tuple2<type1_out&, type2_out&> > { \ |
| 958 public: \ | 1044 public: \ |
| 959 enum { ID = msg_class##__ID }; \ | 1045 enum { ID = msg_class##__ID }; \ |
| 960 msg_class(int routing_id, type1_out* arg1, type2_out* arg2) \ | 1046 msg_class(int routing_id, type1_out* arg1, type2_out* arg2); \ |
| 961 : IPC::MessageWithReply<Tuple0, Tuple2<type1_out&, type2_out&> >( \ | 1047 ~msg_class(); \ |
| 962 routing_id, ID, \ | 1048 static void Log(const Message* msg, std::wstring* l); \ |
| 963 MakeTuple(), MakeRefTuple(*arg1, *arg2)) {} \ | |
| 964 }; | 1049 }; |
| 965 | 1050 |
| 966 #define IPC_SYNC_MESSAGE_ROUTED0_3(msg_class, type1_out, type2_out, type3_out) \ | 1051 #define IPC_SYNC_MESSAGE_ROUTED0_3(msg_class, type1_out, type2_out, type3_out) \ |
| 967 class msg_class : \ | 1052 class msg_class : \ |
| 968 public IPC::MessageWithReply<Tuple0, \ | 1053 public IPC::MessageWithReply<Tuple0, \ |
| 969 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ | 1054 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ |
| 970 public: \ | 1055 public: \ |
| 971 enum { ID = msg_class##__ID }; \ | 1056 enum { ID = msg_class##__ID }; \ |
| 972 msg_class(int routing_id, type1_out* arg1, type2_out* arg2, type3_out* arg3)
\ | 1057 msg_class(int routing_id, type1_out* arg1, type2_out* arg2, type3_out* arg3);
\ |
| 973 : IPC::MessageWithReply<Tuple0, \ | 1058 ~msg_class(); \ |
| 974 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 1059 static void Log(const Message* msg, std::wstring* l); \ |
| 975 MakeTuple(), MakeRefTuple(*arg1, *arg2, *arg3)) {} \ | |
| 976 }; | 1060 }; |
| 977 | 1061 |
| 978 #define IPC_SYNC_MESSAGE_ROUTED1_0(msg_class, type1_in) \ | 1062 #define IPC_SYNC_MESSAGE_ROUTED1_0(msg_class, type1_in) \ |
| 979 class msg_class : \ | 1063 class msg_class : \ |
| 980 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 > { \ | 1064 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 > { \ |
| 981 public: \ | 1065 public: \ |
| 982 enum { ID = msg_class##__ID }; \ | 1066 enum { ID = msg_class##__ID }; \ |
| 983 msg_class(int routing_id, const type1_in& arg1) \ | 1067 msg_class(int routing_id, const type1_in& arg1); \ |
| 984 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 >( \ | 1068 ~msg_class(); \ |
| 985 routing_id, ID, \ | 1069 static void Log(const Message* msg, std::wstring* l); \ |
| 986 MakeRefTuple(arg1), MakeTuple()) {} \ | |
| 987 }; | 1070 }; |
| 988 | 1071 |
| 989 #define IPC_SYNC_MESSAGE_ROUTED1_1(msg_class, type1_in, type1_out) \ | 1072 #define IPC_SYNC_MESSAGE_ROUTED1_1(msg_class, type1_in, type1_out) \ |
| 990 class msg_class : \ | 1073 class msg_class : \ |
| 991 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> > { \ | 1074 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> > { \ |
| 992 public: \ | 1075 public: \ |
| 993 enum { ID = msg_class##__ID }; \ | 1076 enum { ID = msg_class##__ID }; \ |
| 994 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2) \ | 1077 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2); \ |
| 995 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> >( \ | 1078 ~msg_class(); \ |
| 996 routing_id, ID, \ | 1079 static void Log(const Message* msg, std::wstring* l); \ |
| 997 MakeRefTuple(arg1), MakeRefTuple(*arg2)) {} \ | |
| 998 }; | 1080 }; |
| 999 | 1081 |
| 1000 #define IPC_SYNC_MESSAGE_ROUTED1_2(msg_class, type1_in, type1_out, type2_out) \ | 1082 #define IPC_SYNC_MESSAGE_ROUTED1_2(msg_class, type1_in, type1_out, type2_out) \ |
| 1001 class msg_class : \ | 1083 class msg_class : \ |
| 1002 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_ou
t&> > { \ | 1084 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_ou
t&> > { \ |
| 1003 public: \ | 1085 public: \ |
| 1004 enum { ID = msg_class##__ID }; \ | 1086 enum { ID = msg_class##__ID }; \ |
| 1005 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out*
arg3) \ | 1087 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out* a
rg3); \ |
| 1006 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_out&>
>( \ | 1088 ~msg_class(); \ |
| 1007 routing_id, ID, \ | 1089 static void Log(const Message* msg, std::wstring* l); \ |
| 1008 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3)) {} \ | |
| 1009 }; | 1090 }; |
| 1010 | 1091 |
| 1011 #define IPC_SYNC_MESSAGE_ROUTED1_3(msg_class, type1_in, type1_out, type2_out, ty
pe3_out) \ | 1092 #define IPC_SYNC_MESSAGE_ROUTED1_3(msg_class, type1_in, type1_out, type2_out, ty
pe3_out) \ |
| 1012 class msg_class : \ | 1093 class msg_class : \ |
| 1013 public IPC::MessageWithReply<Tuple1<type1_in>, \ | 1094 public IPC::MessageWithReply<Tuple1<type1_in>, \ |
| 1014 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ | 1095 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ |
| 1015 public: \ | 1096 public: \ |
| 1016 enum { ID = msg_class##__ID }; \ | 1097 enum { ID = msg_class##__ID }; \ |
| 1017 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out*
arg3, type3_out* arg4) \ | 1098 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out* a
rg3, type3_out* arg4); \ |
| 1018 : IPC::MessageWithReply<Tuple1<type1_in>, \ | 1099 ~msg_class(); \ |
| 1019 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 1100 static void Log(const Message* msg, std::wstring* l); \ |
| 1020 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3, *arg4)) {} \ | |
| 1021 }; | 1101 }; |
| 1022 | 1102 |
| 1023 #define IPC_SYNC_MESSAGE_ROUTED1_4(msg_class, type1_in, type1_out, type2_out, ty
pe3_out, type4_out) \ | 1103 #define IPC_SYNC_MESSAGE_ROUTED1_4(msg_class, type1_in, type1_out, type2_out, ty
pe3_out, type4_out) \ |
| 1024 class msg_class : \ | 1104 class msg_class : \ |
| 1025 public IPC::MessageWithReply<Tuple1<type1_in>, \ | 1105 public IPC::MessageWithReply<Tuple1<type1_in>, \ |
| 1026 Tuple4<type1_out&, type2_out&, type3_out&, type4_out&> >{ \ | 1106 Tuple4<type1_out&, type2_out&, type3_out&, type4_out&> >{ \ |
| 1027 public: \ | 1107 public: \ |
| 1028 enum { ID = msg_class##__ID }; \ | 1108 enum { ID = msg_class##__ID }; \ |
| 1029 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out*
arg3, type3_out* arg4, type4_out* arg5) \ | 1109 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out* a
rg3, type3_out* arg4, type4_out* arg5); \ |
| 1030 : IPC::MessageWithReply<Tuple1<type1_in>, \ | 1110 ~msg_class(); \ |
| 1031 Tuple4<type1_out&, type2_out&, type3_out&, type4_out&> >(routing_id,
ID, \ | 1111 static void Log(const Message* msg, std::wstring* l); \ |
| 1032 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3, *arg4, *arg5)) {} \ | |
| 1033 }; | 1112 }; |
| 1034 | 1113 |
| 1035 #define IPC_SYNC_MESSAGE_ROUTED2_0(msg_class, type1_in, type2_in) \ | 1114 #define IPC_SYNC_MESSAGE_ROUTED2_0(msg_class, type1_in, type2_in) \ |
| 1036 class msg_class : \ | 1115 class msg_class : \ |
| 1037 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 > { \ | 1116 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 > { \ |
| 1038 public: \ | 1117 public: \ |
| 1039 enum { ID = msg_class##__ID }; \ | 1118 enum { ID = msg_class##__ID }; \ |
| 1040 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2) \ | 1119 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2); \ |
| 1041 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 >( \ | 1120 ~msg_class(); \ |
| 1042 routing_id, ID, \ | 1121 static void Log(const Message* msg, std::wstring* l); \ |
| 1043 MakeRefTuple(arg1, arg2), MakeTuple()) {} \ | |
| 1044 }; | 1122 }; |
| 1045 | 1123 |
| 1046 #define IPC_SYNC_MESSAGE_ROUTED2_1(msg_class, type1_in, type2_in, type1_out) \ | 1124 #define IPC_SYNC_MESSAGE_ROUTED2_1(msg_class, type1_in, type2_in, type1_out) \ |
| 1047 class msg_class : \ | 1125 class msg_class : \ |
| 1048 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&
> > { \ | 1126 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&
> > { \ |
| 1049 public: \ | 1127 public: \ |
| 1050 enum { ID = msg_class##__ID }; \ | 1128 enum { ID = msg_class##__ID }; \ |
| 1051 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_
out* arg3) \ | 1129 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_o
ut* arg3); \ |
| 1052 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&> >
( \ | 1130 ~msg_class(); \ |
| 1053 routing_id, ID, \ | 1131 static void Log(const Message* msg, std::wstring* l); \ |
| 1054 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3)) {} \ | |
| 1055 }; | 1132 }; |
| 1056 | 1133 |
| 1057 #define IPC_SYNC_MESSAGE_ROUTED2_2(msg_class, type1_in, type2_in, type1_out, typ
e2_out) \ | 1134 #define IPC_SYNC_MESSAGE_ROUTED2_2(msg_class, type1_in, type2_in, type1_out, typ
e2_out) \ |
| 1058 class msg_class : \ | 1135 class msg_class : \ |
| 1059 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 1136 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
| 1060 Tuple2<type1_out&, type2_out&> > { \ | 1137 Tuple2<type1_out&, type2_out&> > { \ |
| 1061 public: \ | 1138 public: \ |
| 1062 enum { ID = msg_class##__ID }; \ | 1139 enum { ID = msg_class##__ID }; \ |
| 1063 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_
out* arg3, type2_out* arg4) \ | 1140 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_o
ut* arg3, type2_out* arg4); \ |
| 1064 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 1141 ~msg_class(); \ |
| 1065 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ | 1142 static void Log(const Message* msg, std::wstring* l); \ |
| 1066 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4)) {} \ | |
| 1067 }; | 1143 }; |
| 1068 | 1144 |
| 1069 #define IPC_SYNC_MESSAGE_ROUTED2_3(msg_class, type1_in, type2_in, type1_out, typ
e2_out, type3_out) \ | 1145 #define IPC_SYNC_MESSAGE_ROUTED2_3(msg_class, type1_in, type2_in, type1_out, typ
e2_out, type3_out) \ |
| 1070 class msg_class : \ | 1146 class msg_class : \ |
| 1071 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 1147 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
| 1072 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 1148 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
| 1073 public: \ | 1149 public: \ |
| 1074 enum { ID = msg_class##__ID }; \ | 1150 enum { ID = msg_class##__ID }; \ |
| 1075 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_
out* arg3, type2_out* arg4, type3_out* arg5) \ | 1151 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_o
ut* arg3, type2_out* arg4, type3_out* arg5); \ |
| 1076 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 1152 ~msg_class(); \ |
| 1077 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 1153 static void Log(const Message* msg, std::wstring* l); \ |
| 1078 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4, *arg5)) {} \ | |
| 1079 }; | 1154 }; |
| 1080 | 1155 |
| 1081 #define IPC_SYNC_MESSAGE_ROUTED3_0(msg_class, type1_in, type2_in, type3_in) \ | 1156 #define IPC_SYNC_MESSAGE_ROUTED3_0(msg_class, type1_in, type2_in, type3_in) \ |
| 1082 class msg_class : \ | 1157 class msg_class : \ |
| 1083 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, Tuple0
> { \ | 1158 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, Tuple0
> { \ |
| 1084 public: \ | 1159 public: \ |
| 1085 enum { ID = msg_class##__ID }; \ | 1160 enum { ID = msg_class##__ID }; \ |
| 1086 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3) \ | 1161 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3); \ |
| 1087 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, Tuple0>( \ | 1162 ~msg_class(); \ |
| 1088 routing_id, ID, \ | 1163 static void Log(const Message* msg, std::wstring* l); \ |
| 1089 MakeRefTuple(arg1, arg2, arg3), MakeTuple()) {} \ | 1164 }; |
| 1090 }; | |
| 1091 | 1165 |
| 1092 #define IPC_SYNC_MESSAGE_ROUTED3_1(msg_class, type1_in, type2_in, type3_in, type
1_out) \ | 1166 #define IPC_SYNC_MESSAGE_ROUTED3_1(msg_class, type1_in, type2_in, type3_in, type
1_out) \ |
| 1093 class msg_class : \ | 1167 class msg_class : \ |
| 1094 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1168 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
| 1095 Tuple1<type1_out&> > { \ | 1169 Tuple1<type1_out&> > { \ |
| 1096 public: \ | 1170 public: \ |
| 1097 enum { ID = msg_class##__ID }; \ | 1171 enum { ID = msg_class##__ID }; \ |
| 1098 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, type1_out* arg4) \ | 1172 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, type1_out* arg4); \ |
| 1099 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1173 ~msg_class(); \ |
| 1100 Tuple1<type1_out&> >(routing_id, ID, \ | 1174 static void Log(const Message* msg, std::wstring* l); \ |
| 1101 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4)) {} \ | |
| 1102 }; | 1175 }; |
| 1103 | 1176 |
| 1104 #define IPC_SYNC_MESSAGE_ROUTED3_2(msg_class, type1_in, type2_in, type3_in, type
1_out, type2_out) \ | 1177 #define IPC_SYNC_MESSAGE_ROUTED3_2(msg_class, type1_in, type2_in, type3_in, type
1_out, type2_out) \ |
| 1105 class msg_class : \ | 1178 class msg_class : \ |
| 1106 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1179 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
| 1107 Tuple2<type1_out&, type2_out&> > { \ | 1180 Tuple2<type1_out&, type2_out&> > { \ |
| 1108 public: \ | 1181 public: \ |
| 1109 enum { ID = msg_class##__ID }; \ | 1182 enum { ID = msg_class##__ID }; \ |
| 1110 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, type1_out* arg4, type2_out* arg5) \ | 1183 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, type1_out* arg4, type2_out* arg5); \ |
| 1111 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1184 ~msg_class(); \ |
| 1112 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ | 1185 static void Log(const Message* msg, std::wstring* l); \ |
| 1113 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5)) {} \ | |
| 1114 }; | 1186 }; |
| 1115 | 1187 |
| 1116 #define IPC_SYNC_MESSAGE_ROUTED3_3(msg_class, type1_in, type2_in, type3_in, type
1_out, type2_out, type3_out) \ | 1188 #define IPC_SYNC_MESSAGE_ROUTED3_3(msg_class, type1_in, type2_in, type3_in, type
1_out, type2_out, type3_out) \ |
| 1117 class msg_class : \ | 1189 class msg_class : \ |
| 1118 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1190 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
| 1119 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 1191 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
| 1120 public: \ | 1192 public: \ |
| 1121 enum { ID = msg_class##__ID }; \ | 1193 enum { ID = msg_class##__ID }; \ |
| 1122 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, type1_out* arg4, type2_out* arg5, type3_out* arg6) \ | 1194 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, type1_out* arg4, type2_out* arg5, type3_out* arg6); \ |
| 1123 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1195 ~msg_class(); \ |
| 1124 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 1196 static void Log(const Message* msg, std::wstring* l); \ |
| 1125 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5, *arg6)) {
} \ | |
| 1126 }; | 1197 }; |
| 1127 | 1198 |
| 1128 #define IPC_SYNC_MESSAGE_ROUTED4_0(msg_class, type1_in, type2_in, type3_in, type
4_in) \ | 1199 #define IPC_SYNC_MESSAGE_ROUTED4_0(msg_class, type1_in, type2_in, type3_in, type
4_in) \ |
| 1129 class msg_class : \ | 1200 class msg_class : \ |
| 1130 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 1201 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
| 1131 Tuple0 > { \ | 1202 Tuple0 > { \ |
| 1132 public: \ | 1203 public: \ |
| 1133 enum { ID = msg_class##__ID }; \ | 1204 enum { ID = msg_class##__ID }; \ |
| 1134 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4) \ | 1205 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, const type4_in& arg4); \ |
| 1135 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 1206 ~msg_class(); \ |
| 1136 Tuple0 >(routing_id, ID, \ | 1207 static void Log(const Message* msg, std::wstring* l); \ |
| 1137 MakeRefTuple(arg1, arg2, arg3, arg4), MakeTuple()) {} \ | |
| 1138 }; | 1208 }; |
| 1139 | 1209 |
| 1140 #define IPC_SYNC_MESSAGE_ROUTED4_1(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out) \ | 1210 #define IPC_SYNC_MESSAGE_ROUTED4_1(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out) \ |
| 1141 class msg_class : \ | 1211 class msg_class : \ |
| 1142 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 1212 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
| 1143 Tuple1<type1_out&> > { \ | 1213 Tuple1<type1_out&> > { \ |
| 1144 public: \ | 1214 public: \ |
| 1145 enum { ID = msg_class##__ID }; \ | 1215 enum { ID = msg_class##__ID }; \ |
| 1146 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4, type1_out* arg6) \ | 1216 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, const type4_in& arg4, type1_out* arg6); \ |
| 1147 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 1217 ~msg_class(); \ |
| 1148 Tuple1<type1_out&> >(routing_id, ID, \ | 1218 static void Log(const Message* msg, std::wstring* l); \ |
| 1149 MakeRefTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg6)) {} \ | |
| 1150 }; | 1219 }; |
| 1151 | 1220 |
| 1152 #define IPC_SYNC_MESSAGE_ROUTED4_2(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out, type2_out) \ | 1221 #define IPC_SYNC_MESSAGE_ROUTED4_2(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out, type2_out) \ |
| 1153 class msg_class : \ | 1222 class msg_class : \ |
| 1154 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 1223 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
| 1155 Tuple2<type1_out&, type2_out&> > { \ | 1224 Tuple2<type1_out&, type2_out&> > { \ |
| 1156 public: \ | 1225 public: \ |
| 1157 enum { ID = msg_class##__ID }; \ | 1226 enum { ID = msg_class##__ID }; \ |
| 1158 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4, type1_out* arg5, type2_out* arg6) \ | 1227 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, const type4_in& arg4, type1_out* arg5, type2_out* arg6); \ |
| 1159 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 1228 ~msg_class(); \ |
| 1160 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ | 1229 static void Log(const Message* msg, std::wstring* l); \ |
| 1161 MakeRefTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg5, *arg6)) {}
\ | |
| 1162 }; | 1230 }; |
| 1163 | 1231 |
| 1164 #define IPC_SYNC_MESSAGE_ROUTED4_3(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out, type2_out, type3_out) \ | 1232 #define IPC_SYNC_MESSAGE_ROUTED4_3(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out, type2_out, type3_out) \ |
| 1165 class msg_class : \ | 1233 class msg_class : \ |
| 1166 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 1234 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
| 1167 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 1235 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
| 1168 public: \ | 1236 public: \ |
| 1169 enum { ID = msg_class##__ID }; \ | 1237 enum { ID = msg_class##__ID }; \ |
| 1170 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4, type1_out* arg5, type2_out* arg6, type3_ou
t* arg7) \ | 1238 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, const type4_in& arg4, type1_out* arg5, type2_out* arg6, type3_out
* arg7); \ |
| 1171 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>, \ | 1239 ~msg_class(); \ |
| 1172 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 1240 static void Log(const Message* msg, std::wstring* l); \ |
| 1173 MakeRefTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg5, *arg6, *arg7
)) {} \ | |
| 1174 }; | 1241 }; |
| 1175 | 1242 |
| 1176 #define IPC_SYNC_MESSAGE_ROUTED5_0(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in) \ | 1243 #define IPC_SYNC_MESSAGE_ROUTED5_0(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in) \ |
| 1177 class msg_class : \ | 1244 class msg_class : \ |
| 1178 public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in
, type5_in>, \ | 1245 public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in
, type5_in>, \ |
| 1179 Tuple0 > { \ | 1246 Tuple0 > { \ |
| 1180 public: \ | 1247 public: \ |
| 1181 enum { ID = msg_class##__ID }; \ | 1248 enum { ID = msg_class##__ID }; \ |
| 1182 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4, const type5_in& arg5) \ | 1249 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, const type4_in& arg4, const type5_in& arg5); \ |
| 1183 : IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in, t
ype5_in>, \ | 1250 ~msg_class(); \ |
| 1184 Tuple0 >(routing_id, ID, \ | 1251 static void Log(const Message* msg, std::wstring* l); \ |
| 1185 MakeRefTuple(arg1, arg2, arg3, arg4, arg5), MakeTuple()) {} \ | |
| 1186 }; | 1252 }; |
| 1187 | 1253 |
| 1188 #define IPC_SYNC_MESSAGE_ROUTED5_1(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out) \ | 1254 #define IPC_SYNC_MESSAGE_ROUTED5_1(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out) \ |
| 1189 class msg_class : \ | 1255 class msg_class : \ |
| 1190 public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in
, type5_in>, \ | 1256 public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in
, type5_in>, \ |
| 1191 Tuple1<type1_out&> > { \ | 1257 Tuple1<type1_out&> > { \ |
| 1192 public: \ | 1258 public: \ |
| 1193 enum { ID = msg_class##__ID }; \ | 1259 enum { ID = msg_class##__ID }; \ |
| 1194 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4, const type5_in& arg5, type1_out* arg6) \ | 1260 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, const type4_in& arg4, const type5_in& arg5, type1_out* arg6); \ |
| 1195 : IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in, t
ype5_in>, \ | 1261 ~msg_class(); \ |
| 1196 Tuple1<type1_out&> >(routing_id, ID, \ | 1262 static void Log(const Message* msg, std::wstring* l); \ |
| 1197 MakeRefTuple(arg1, arg2, arg3, arg4, arg5), MakeRefTuple(*arg6)) {}
\ | |
| 1198 }; | 1263 }; |
| 1199 | 1264 |
| 1200 #define IPC_SYNC_MESSAGE_ROUTED5_2(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out, type2_out) \ | 1265 #define IPC_SYNC_MESSAGE_ROUTED5_2(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out, type2_out) \ |
| 1201 class msg_class : \ | 1266 class msg_class : \ |
| 1202 public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in
, type5_in>, \ | 1267 public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in
, type5_in>, \ |
| 1203 Tuple2<type1_out&, type2_out&> > { \ | 1268 Tuple2<type1_out&, type2_out&> > { \ |
| 1204 public: \ | 1269 public: \ |
| 1205 enum { ID = msg_class##__ID }; \ | 1270 enum { ID = msg_class##__ID }; \ |
| 1206 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4, const type4_in& arg5, type1_out* arg6, typ
e2_out* arg7) \ | 1271 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, const type4_in& arg4, const type4_in& arg5, type1_out* arg6, type
2_out* arg7); \ |
| 1207 : IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in, t
ype5_in>, \ | 1272 ~msg_class(); \ |
| 1208 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ | 1273 static void Log(const Message* msg, std::wstring* l); \ |
| 1209 MakeRefTuple(arg1, arg2, arg3, arg4, arg5), MakeRefTuple(*arg6, *arg
7)) {} \ | |
| 1210 }; | 1274 }; |
| 1211 | 1275 |
| 1212 #define IPC_SYNC_MESSAGE_ROUTED5_3(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out, type2_out, type3_out) \ | 1276 #define IPC_SYNC_MESSAGE_ROUTED5_3(msg_class, type1_in, type2_in, type3_in, type
4_in, type5_in, type1_out, type2_out, type3_out) \ |
| 1213 class msg_class : \ | 1277 class msg_class : \ |
| 1214 public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in
, type5_in>, \ | 1278 public IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in
, type5_in>, \ |
| 1215 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 1279 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
| 1216 public: \ | 1280 public: \ |
| 1217 enum { ID = msg_class##__ID }; \ | 1281 enum { ID = msg_class##__ID }; \ |
| 1218 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4, const type4_in& arg5, type1_out* arg6, typ
e2_out* arg7, type3_out* arg8) \ | 1282 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const t
ype3_in& arg3, const type4_in& arg4, const type4_in& arg5, type1_out* arg6, type
2_out* arg7, type3_out* arg8); \ |
| 1219 : IPC::MessageWithReply<Tuple5<type1_in, type2_in, type3_in, type4_in, typ
e5_in>, \ | 1283 ~msg_class(); \ |
| 1220 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 1284 static void Log(const Message* msg, std::wstring* l); \ |
| 1221 MakeRefTuple(arg1, arg2, arg3, arg4, arg5), MakeRefTuple(*arg6, *arg7,
*arg8)) {} \ | |
| 1222 }; | 1285 }; |
| 1223 | 1286 |
| 1224 #endif // #if defined() | 1287 #endif // #if defined() |
| OLD | NEW |