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