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 |