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 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
582 class msg_class : public IPC::Message { \ | 582 class msg_class : public IPC::Message { \ |
583 public: \ | 583 public: \ |
584 enum { ID = msg_class##__ID }; \ | 584 enum { ID = msg_class##__ID }; \ |
585 msg_class() \ | 585 msg_class() \ |
586 : IPC::Message(MSG_ROUTING_CONTROL, \ | 586 : IPC::Message(MSG_ROUTING_CONTROL, \ |
587 ID, \ | 587 ID, \ |
588 PRIORITY_NORMAL) {} \ | 588 PRIORITY_NORMAL) {} \ |
589 }; | 589 }; |
590 | 590 |
591 #define IPC_MESSAGE_CONTROL1(msg_class, type1) \ | 591 #define IPC_MESSAGE_CONTROL1(msg_class, type1) \ |
592 class msg_class : public IPC::MessageWithTuple<type1> { \ | 592 class msg_class : public IPC::MessageWithTuple< Tuple1<type1> > { \ |
593 public: \ | 593 public: \ |
594 enum { ID = msg_class##__ID }; \ | 594 enum { ID = msg_class##__ID }; \ |
595 msg_class(const type1& arg1) \ | 595 msg_class(const type1& arg1) \ |
596 : IPC::MessageWithTuple<type1>(MSG_ROUTING_CONTROL, \ | 596 : IPC::MessageWithTuple< Tuple1<type1> >(MSG_ROUTING_CONTROL, \ |
597 ID, \ | 597 ID, \ |
598 arg1) {} \ | 598 MakeRefTuple(arg1)) {} \ |
599 }; | 599 }; |
600 | 600 |
601 #define IPC_MESSAGE_CONTROL2(msg_class, type1, type2) \ | 601 #define IPC_MESSAGE_CONTROL2(msg_class, type1, type2) \ |
602 class msg_class : public IPC::MessageWithTuple< Tuple2<type1, type2> > { \ | 602 class msg_class : public IPC::MessageWithTuple< Tuple2<type1, type2> > { \ |
603 public: \ | 603 public: \ |
604 enum { ID = msg_class##__ID }; \ | 604 enum { ID = msg_class##__ID }; \ |
605 msg_class(const type1& arg1, const type2& arg2) \ | 605 msg_class(const type1& arg1, const type2& arg2) \ |
606 : IPC::MessageWithTuple< Tuple2<type1, type2> >( \ | 606 : IPC::MessageWithTuple< Tuple2<type1, type2> >( \ |
607 MSG_ROUTING_CONTROL, \ | 607 MSG_ROUTING_CONTROL, \ |
608 ID, \ | 608 ID, \ |
609 MakeTuple(arg1, arg2)) {} \ | 609 MakeRefTuple(arg1, arg2)) {} \ |
610 }; | 610 }; |
611 | 611 |
612 #define IPC_MESSAGE_CONTROL3(msg_class, type1, type2, type3) \ | 612 #define IPC_MESSAGE_CONTROL3(msg_class, type1, type2, type3) \ |
613 class msg_class : \ | 613 class msg_class : \ |
614 public IPC::MessageWithTuple< Tuple3<type1, type2, type3> > { \ | 614 public IPC::MessageWithTuple< Tuple3<type1, type2, type3> > { \ |
615 public: \ | 615 public: \ |
616 enum { ID = msg_class##__ID }; \ | 616 enum { ID = msg_class##__ID }; \ |
617 msg_class(const type1& arg1, const type2& arg2, const type3& arg3) \ | 617 msg_class(const type1& arg1, const type2& arg2, const type3& arg3) \ |
618 : IPC::MessageWithTuple< Tuple3<type1, type2, type3> >( \ | 618 : IPC::MessageWithTuple< Tuple3<type1, type2, type3> >( \ |
619 MSG_ROUTING_CONTROL, \ | 619 MSG_ROUTING_CONTROL, \ |
620 ID, \ | 620 ID, \ |
621 MakeTuple(arg1, arg2, arg3)) {} \ | 621 MakeRefTuple(arg1, arg2, arg3)) {} \ |
622 }; | 622 }; |
623 | 623 |
624 #define IPC_MESSAGE_CONTROL4(msg_class, type1, type2, type3, type4) \ | 624 #define IPC_MESSAGE_CONTROL4(msg_class, type1, type2, type3, type4) \ |
625 class msg_class : \ | 625 class msg_class : \ |
626 public IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> > { \ | 626 public IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> > { \ |
627 public: \ | 627 public: \ |
628 enum { ID = msg_class##__ID }; \ | 628 enum { ID = msg_class##__ID }; \ |
629 msg_class(const type1& arg1, const type2& arg2, const type3& arg3, \ | 629 msg_class(const type1& arg1, const type2& arg2, const type3& arg3, \ |
630 const type4& arg4) \ | 630 const type4& arg4) \ |
631 : IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> >( \ | 631 : IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> >( \ |
632 MSG_ROUTING_CONTROL, \ | 632 MSG_ROUTING_CONTROL, \ |
633 ID, \ | 633 ID, \ |
634 MakeTuple(arg1, arg2, arg3, arg4)) {} \ | 634 MakeRefTuple(arg1, arg2, arg3, arg4)) {} \ |
635 }; | 635 }; |
636 | 636 |
637 #define IPC_MESSAGE_CONTROL5(msg_class, type1, type2, type3, type4, type5) \ | 637 #define IPC_MESSAGE_CONTROL5(msg_class, type1, type2, type3, type4, type5) \ |
638 class msg_class : \ | 638 class msg_class : \ |
639 public IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >
{ \ | 639 public IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >
{ \ |
640 public: \ | 640 public: \ |
641 enum { ID = msg_class##__ID }; \ | 641 enum { ID = msg_class##__ID }; \ |
642 msg_class(const type1& arg1, const type2& arg2, \ | 642 msg_class(const type1& arg1, const type2& arg2, \ |
643 const type3& arg3, const type4& arg4, const type5& arg5) \ | 643 const type3& arg3, const type4& arg4, const type5& arg5) \ |
644 : IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >( \ | 644 : IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >( \ |
645 MSG_ROUTING_CONTROL, \ | 645 MSG_ROUTING_CONTROL, \ |
646 ID, \ | 646 ID, \ |
647 MakeTuple(arg1, arg2, arg3, arg4, arg5)) {} \ | 647 MakeRefTuple(arg1, arg2, arg3, arg4, arg5)) {} \ |
648 }; | 648 }; |
649 | 649 |
650 #define IPC_MESSAGE_ROUTED0(msg_class) \ | 650 #define IPC_MESSAGE_ROUTED0(msg_class) \ |
651 class msg_class : public IPC::Message { \ | 651 class msg_class : public IPC::Message { \ |
652 public: \ | 652 public: \ |
653 enum { ID = msg_class##__ID }; \ | 653 enum { ID = msg_class##__ID }; \ |
654 msg_class(int32 routing_id) \ | 654 msg_class(int32 routing_id) \ |
655 : IPC::Message(routing_id, ID, PRIORITY_NORMAL) {} \ | 655 : IPC::Message(routing_id, ID, PRIORITY_NORMAL) {} \ |
656 }; | 656 }; |
657 | 657 |
658 #define IPC_MESSAGE_ROUTED1(msg_class, type1) \ | 658 #define IPC_MESSAGE_ROUTED1(msg_class, type1) \ |
659 class msg_class : public IPC::MessageWithTuple<type1> { \ | 659 class msg_class : public IPC::MessageWithTuple< Tuple1<type1> > { \ |
660 public: \ | 660 public: \ |
661 enum { ID = msg_class##__ID }; \ | 661 enum { ID = msg_class##__ID }; \ |
662 msg_class(int32 routing_id, const type1& arg1) \ | 662 msg_class(int32 routing_id, const type1& arg1) \ |
663 : IPC::MessageWithTuple<type1>(routing_id, ID, arg1) {} \ | 663 : IPC::MessageWithTuple< Tuple1<type1> >(routing_id, ID, \ |
| 664 MakeRefTuple(arg1)) {} \ |
664 }; | 665 }; |
665 | 666 |
666 #define IPC_MESSAGE_ROUTED2(msg_class, type1, type2) \ | 667 #define IPC_MESSAGE_ROUTED2(msg_class, type1, type2) \ |
667 class msg_class : public IPC::MessageWithTuple< Tuple2<type1, type2> > { \ | 668 class msg_class : public IPC::MessageWithTuple< Tuple2<type1, type2> > { \ |
668 public: \ | 669 public: \ |
669 enum { ID = msg_class##__ID }; \ | 670 enum { ID = msg_class##__ID }; \ |
670 msg_class(int32 routing_id, const type1& arg1, const type2& arg2) \ | 671 msg_class(int32 routing_id, const type1& arg1, const type2& arg2) \ |
671 : IPC::MessageWithTuple< Tuple2<type1, type2> >( \ | 672 : IPC::MessageWithTuple< Tuple2<type1, type2> >( \ |
672 routing_id, ID, MakeTuple(arg1, arg2)) {} \ | 673 routing_id, ID, MakeRefTuple(arg1, arg2)) {} \ |
673 }; | 674 }; |
674 | 675 |
675 #define IPC_MESSAGE_ROUTED3(msg_class, type1, type2, type3) \ | 676 #define IPC_MESSAGE_ROUTED3(msg_class, type1, type2, type3) \ |
676 class msg_class : \ | 677 class msg_class : \ |
677 public IPC::MessageWithTuple< Tuple3<type1, type2, type3> > { \ | 678 public IPC::MessageWithTuple< Tuple3<type1, type2, type3> > { \ |
678 public: \ | 679 public: \ |
679 enum { ID = msg_class##__ID }; \ | 680 enum { ID = msg_class##__ID }; \ |
680 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ | 681 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ |
681 const type3& arg3) \ | 682 const type3& arg3) \ |
682 : IPC::MessageWithTuple< Tuple3<type1, type2, type3> >( \ | 683 : IPC::MessageWithTuple< Tuple3<type1, type2, type3> >( \ |
683 routing_id, ID, MakeTuple(arg1, arg2, arg3)) {} \ | 684 routing_id, ID, MakeRefTuple(arg1, arg2, arg3)) {} \ |
684 }; | 685 }; |
685 | 686 |
686 #define IPC_MESSAGE_ROUTED4(msg_class, type1, type2, type3, type4) \ | 687 #define IPC_MESSAGE_ROUTED4(msg_class, type1, type2, type3, type4) \ |
687 class msg_class : \ | 688 class msg_class : \ |
688 public IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> > { \ | 689 public IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> > { \ |
689 public: \ | 690 public: \ |
690 enum { ID = msg_class##__ID }; \ | 691 enum { ID = msg_class##__ID }; \ |
691 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ | 692 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ |
692 const type3& arg3, const type4& arg4) \ | 693 const type3& arg3, const type4& arg4) \ |
693 : IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> >( \ | 694 : IPC::MessageWithTuple< Tuple4<type1, type2, type3, type4> >( \ |
694 routing_id, ID, MakeTuple(arg1, arg2, arg3, arg4)) {} \ | 695 routing_id, ID, MakeRefTuple(arg1, arg2, arg3, arg4)) {} \ |
695 }; | 696 }; |
696 | 697 |
697 #define IPC_MESSAGE_ROUTED5(msg_class, type1, type2, type3, type4, type5) \ | 698 #define IPC_MESSAGE_ROUTED5(msg_class, type1, type2, type3, type4, type5) \ |
698 class msg_class : \ | 699 class msg_class : \ |
699 public IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >
{ \ | 700 public IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >
{ \ |
700 public: \ | 701 public: \ |
701 enum { ID = msg_class##__ID }; \ | 702 enum { ID = msg_class##__ID }; \ |
702 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ | 703 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ |
703 const type3& arg3, const type4& arg4, const type5& arg5) \ | 704 const type3& arg3, const type4& arg4, const type5& arg5) \ |
704 : IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >( \ | 705 : IPC::MessageWithTuple< Tuple5<type1, type2, type3, type4, type5> >( \ |
705 routing_id, ID, MakeTuple(arg1, arg2, arg3, arg4, arg5)) {} \ | 706 routing_id, ID, MakeRefTuple(arg1, arg2, arg3, arg4, arg5)) {} \ |
706 }; | 707 }; |
707 | 708 |
708 #define IPC_MESSAGE_ROUTED6(msg_class, type1, type2, type3, type4, type5, \ | 709 #define IPC_MESSAGE_ROUTED6(msg_class, type1, type2, type3, type4, type5, \ |
709 type6) \ | 710 type6) \ |
710 class msg_class : \ | 711 class msg_class : \ |
711 public IPC::MessageWithTuple< Tuple6<type1, type2, type3, type4, type5, \ | 712 public IPC::MessageWithTuple< Tuple6<type1, type2, type3, type4, type5, \ |
712 type6> > { \ | 713 type6> > { \ |
713 public: \ | 714 public: \ |
714 enum { ID = msg_class##__ID }; \ | 715 enum { ID = msg_class##__ID }; \ |
715 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ | 716 msg_class(int32 routing_id, const type1& arg1, const type2& arg2, \ |
716 const type3& arg3, const type4& arg4, const type5& arg5, \ | 717 const type3& arg3, const type4& arg4, const type5& arg5, \ |
717 const type6& arg6) \ | 718 const type6& arg6) \ |
718 : IPC::MessageWithTuple< Tuple6<type1, type2, type3, type4, type5, \ | 719 : IPC::MessageWithTuple< Tuple6<type1, type2, type3, type4, type5, \ |
719 type6> >( \ | 720 type6> >( \ |
720 routing_id, ID, MakeTuple(arg1, arg2, arg3, arg4, arg5, arg6)) {} \ | 721 routing_id, ID, MakeRefTuple(arg1, arg2, arg3, arg4, arg5, arg6)) {} \ |
721 }; | 722 }; |
722 | 723 |
723 #define IPC_SYNC_MESSAGE_CONTROL0_0(msg_class) \ | 724 #define IPC_SYNC_MESSAGE_CONTROL0_0(msg_class) \ |
724 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple0 > { \ | 725 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple0 > { \ |
725 public: \ | 726 public: \ |
726 enum { ID = msg_class##__ID }; \ | 727 enum { ID = msg_class##__ID }; \ |
727 msg_class() \ | 728 msg_class() \ |
728 : IPC::MessageWithReply<Tuple0, Tuple0 >( \ | 729 : IPC::MessageWithReply<Tuple0, Tuple0 >( \ |
729 MSG_ROUTING_CONTROL, ID, \ | 730 MSG_ROUTING_CONTROL, ID, \ |
730 MakeTuple(), MakeTuple()) {} \ | 731 MakeTuple(), MakeTuple()) {} \ |
(...skipping 30 matching lines...) Expand all Loading... |
761 enum { ID = msg_class##__ID }; \ | 762 enum { ID = msg_class##__ID }; \ |
762 msg_class(type1_out* arg1, type2_out* arg2, type3_out* arg3) \ | 763 msg_class(type1_out* arg1, type2_out* arg2, type3_out* arg3) \ |
763 : IPC::MessageWithReply<Tuple0, \ | 764 : IPC::MessageWithReply<Tuple0, \ |
764 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ | 765 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ |
765 ID, \ | 766 ID, \ |
766 MakeTuple(), MakeRefTuple(*arg1, *arg2, *arg3)) {} \ | 767 MakeTuple(), MakeRefTuple(*arg1, *arg2, *arg3)) {} \ |
767 }; | 768 }; |
768 | 769 |
769 #define IPC_SYNC_MESSAGE_CONTROL1_0(msg_class, type1_in) \ | 770 #define IPC_SYNC_MESSAGE_CONTROL1_0(msg_class, type1_in) \ |
770 class msg_class : \ | 771 class msg_class : \ |
771 public IPC::MessageWithReply<type1_in, Tuple0 > { \ | 772 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 > { \ |
772 public: \ | 773 public: \ |
773 enum { ID = msg_class##__ID }; \ | 774 enum { ID = msg_class##__ID }; \ |
774 msg_class(const type1_in& arg1) \ | 775 msg_class(const type1_in& arg1) \ |
775 : IPC::MessageWithReply<type1_in, Tuple0 >( \ | 776 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 >( \ |
776 MSG_ROUTING_CONTROL, ID, \ | 777 MSG_ROUTING_CONTROL, ID, \ |
777 arg1, MakeTuple()) {} \ | 778 MakeRefTuple(arg1), MakeTuple()) {} \ |
778 }; | 779 }; |
779 | 780 |
780 #define IPC_SYNC_MESSAGE_CONTROL1_1(msg_class, type1_in, type1_out) \ | 781 #define IPC_SYNC_MESSAGE_CONTROL1_1(msg_class, type1_in, type1_out) \ |
781 class msg_class : \ | 782 class msg_class : \ |
782 public IPC::MessageWithReply<type1_in, Tuple1<type1_out&> > { \ | 783 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> > { \ |
783 public: \ | 784 public: \ |
784 enum { ID = msg_class##__ID }; \ | 785 enum { ID = msg_class##__ID }; \ |
785 msg_class(const type1_in& arg1, type1_out* arg2) \ | 786 msg_class(const type1_in& arg1, type1_out* arg2) \ |
786 : IPC::MessageWithReply<type1_in, Tuple1<type1_out&> >( \ | 787 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> >( \ |
787 MSG_ROUTING_CONTROL, ID, \ | 788 MSG_ROUTING_CONTROL, ID, \ |
788 arg1, MakeRefTuple(*arg2)) {} \ | 789 MakeRefTuple(arg1), MakeRefTuple(*arg2)) {} \ |
789 }; | 790 }; |
790 | 791 |
791 #define IPC_SYNC_MESSAGE_CONTROL1_2(msg_class, type1_in, type1_out, type2_out) \ | 792 #define IPC_SYNC_MESSAGE_CONTROL1_2(msg_class, type1_in, type1_out, type2_out) \ |
792 class msg_class : \ | 793 class msg_class : \ |
793 public IPC::MessageWithReply<type1_in, Tuple2<type1_out&, type2_out&> > {
\ | 794 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_ou
t&> > { \ |
794 public: \ | 795 public: \ |
795 enum { ID = msg_class##__ID }; \ | 796 enum { ID = msg_class##__ID }; \ |
796 msg_class(const type1_in& arg1, type1_out* arg2, type2_out* arg3) \ | 797 msg_class(const type1_in& arg1, type1_out* arg2, type2_out* arg3) \ |
797 : IPC::MessageWithReply<type1_in, Tuple2<type1_out&, type2_out&> >( \ | 798 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_out&>
>( \ |
798 MSG_ROUTING_CONTROL, ID, \ | 799 MSG_ROUTING_CONTROL, ID, \ |
799 arg1, MakeRefTuple(*arg2, *arg3)) {} \ | 800 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3)) {} \ |
800 }; | 801 }; |
801 | 802 |
802 #define IPC_SYNC_MESSAGE_CONTROL1_3(msg_class, type1_in, type1_out, type2_out, t
ype3_out) \ | 803 #define IPC_SYNC_MESSAGE_CONTROL1_3(msg_class, type1_in, type1_out, type2_out, t
ype3_out) \ |
803 class msg_class : \ | 804 class msg_class : \ |
804 public IPC::MessageWithReply<type1_in, \ | 805 public IPC::MessageWithReply<Tuple1<type1_in>, \ |
805 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ | 806 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ |
806 public: \ | 807 public: \ |
807 enum { ID = msg_class##__ID }; \ | 808 enum { ID = msg_class##__ID }; \ |
808 msg_class(const type1_in& arg1, type1_out* arg2, type2_out* arg3, type3_out*
arg4) \ | 809 msg_class(const type1_in& arg1, type1_out* arg2, type2_out* arg3, type3_out*
arg4) \ |
809 : IPC::MessageWithReply<type1_in, \ | 810 : IPC::MessageWithReply<Tuple1<type1_in>, \ |
810 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ | 811 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ |
811 ID, \ | 812 ID, \ |
812 arg1, MakeRefTuple(*arg2, *arg3, *arg4)) {} \ | 813 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3, *arg4)) {} \ |
813 }; | 814 }; |
814 | 815 |
815 #define IPC_SYNC_MESSAGE_CONTROL2_0(msg_class, type1_in, type2_in) \ | 816 #define IPC_SYNC_MESSAGE_CONTROL2_0(msg_class, type1_in, type2_in) \ |
816 class msg_class : \ | 817 class msg_class : \ |
817 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 > { \ | 818 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 > { \ |
818 public: \ | 819 public: \ |
819 enum { ID = msg_class##__ID }; \ | 820 enum { ID = msg_class##__ID }; \ |
820 msg_class(const type1_in& arg1, const type2_in& arg2) \ | 821 msg_class(const type1_in& arg1, const type2_in& arg2) \ |
821 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 >( \ | 822 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 >( \ |
822 MSG_ROUTING_CONTROL, ID, \ | 823 MSG_ROUTING_CONTROL, ID, \ |
823 MakeTuple(arg1, arg2), MakeTuple()) {} \ | 824 MakeRefTuple(arg1, arg2), MakeTuple()) {} \ |
824 }; | 825 }; |
825 | 826 |
826 #define IPC_SYNC_MESSAGE_CONTROL2_1(msg_class, type1_in, type2_in, type1_out) \ | 827 #define IPC_SYNC_MESSAGE_CONTROL2_1(msg_class, type1_in, type2_in, type1_out) \ |
827 class msg_class : \ | 828 class msg_class : \ |
828 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&
> > { \ | 829 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&
> > { \ |
829 public: \ | 830 public: \ |
830 enum { ID = msg_class##__ID }; \ | 831 enum { ID = msg_class##__ID }; \ |
831 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3) \ | 832 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3) \ |
832 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&> >
( \ | 833 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&> >
( \ |
833 MSG_ROUTING_CONTROL, ID, \ | 834 MSG_ROUTING_CONTROL, ID, \ |
834 MakeTuple(arg1, arg2), MakeRefTuple(*arg3)) {} \ | 835 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3)) {} \ |
835 }; | 836 }; |
836 | 837 |
837 #define IPC_SYNC_MESSAGE_CONTROL2_2(msg_class, type1_in, type2_in, type1_out, ty
pe2_out) \ | 838 #define IPC_SYNC_MESSAGE_CONTROL2_2(msg_class, type1_in, type2_in, type1_out, ty
pe2_out) \ |
838 class msg_class : \ | 839 class msg_class : \ |
839 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 840 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
840 Tuple2<type1_out&, type2_out&> > { \ | 841 Tuple2<type1_out&, type2_out&> > { \ |
841 public: \ | 842 public: \ |
842 enum { ID = msg_class##__ID }; \ | 843 enum { ID = msg_class##__ID }; \ |
843 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3, type2
_out* arg4) \ | 844 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3, type2
_out* arg4) \ |
844 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 845 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
845 Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ | 846 Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ |
846 MakeTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4)) {} \ | 847 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4)) {} \ |
847 }; | 848 }; |
848 | 849 |
849 #define IPC_SYNC_MESSAGE_CONTROL2_3(msg_class, type1_in, type2_in, type1_out, ty
pe2_out, type3_out) \ | 850 #define IPC_SYNC_MESSAGE_CONTROL2_3(msg_class, type1_in, type2_in, type1_out, ty
pe2_out, type3_out) \ |
850 class msg_class : \ | 851 class msg_class : \ |
851 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 852 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
852 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 853 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
853 public: \ | 854 public: \ |
854 enum { ID = msg_class##__ID }; \ | 855 enum { ID = msg_class##__ID }; \ |
855 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3, type2
_out* arg4, type3_out* arg5) \ | 856 msg_class(const type1_in& arg1, const type2_in& arg2, type1_out* arg3, type2
_out* arg4, type3_out* arg5) \ |
856 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 857 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
857 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ | 858 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ |
858 ID, \ | 859 ID, \ |
859 MakeTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4, *arg5)) {} \ | 860 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4, *arg5)) {} \ |
860 }; | 861 }; |
861 | 862 |
862 #define IPC_SYNC_MESSAGE_CONTROL3_1(msg_class, type1_in, type2_in, type3_in, typ
e1_out) \ | 863 #define IPC_SYNC_MESSAGE_CONTROL3_1(msg_class, type1_in, type2_in, type3_in, typ
e1_out) \ |
863 class msg_class : \ | 864 class msg_class : \ |
864 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 865 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
865 Tuple1<type1_out&> > { \ | 866 Tuple1<type1_out&> > { \ |
866 public: \ | 867 public: \ |
867 enum { ID = msg_class##__ID }; \ | 868 enum { ID = msg_class##__ID }; \ |
868 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
type1_out* arg4) \ | 869 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
type1_out* arg4) \ |
869 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 870 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
870 Tuple1<type1_out&> >(MSG_ROUTING_CONTROL, ID, \ | 871 Tuple1<type1_out&> >(MSG_ROUTING_CONTROL, ID, \ |
871 MakeTuple(arg1, arg2, arg3), MakeRefTuple(*arg4)) {} \ | 872 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4)) {} \ |
872 }; | 873 }; |
873 | 874 |
874 #define IPC_SYNC_MESSAGE_CONTROL3_2(msg_class, type1_in, type2_in, type3_in, typ
e1_out, type2_out) \ | 875 #define IPC_SYNC_MESSAGE_CONTROL3_2(msg_class, type1_in, type2_in, type3_in, typ
e1_out, type2_out) \ |
875 class msg_class : \ | 876 class msg_class : \ |
876 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 877 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
877 Tuple2<type1_out&, type2_out&> > { \ | 878 Tuple2<type1_out&, type2_out&> > { \ |
878 public: \ | 879 public: \ |
879 enum { ID = msg_class##__ID }; \ | 880 enum { ID = msg_class##__ID }; \ |
880 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
type1_out* arg4, type2_out* arg5) \ | 881 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
type1_out* arg4, type2_out* arg5) \ |
881 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 882 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
882 Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ | 883 Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ |
883 MakeTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5)) {} \ | 884 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5)) {} \ |
884 }; | 885 }; |
885 | 886 |
886 #define IPC_SYNC_MESSAGE_CONTROL3_3(msg_class, type1_in, type2_in, type3_in, typ
e1_out, type2_out, type3_out) \ | 887 #define IPC_SYNC_MESSAGE_CONTROL3_3(msg_class, type1_in, type2_in, type3_in, typ
e1_out, type2_out, type3_out) \ |
887 class msg_class : \ | 888 class msg_class : \ |
888 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 889 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
889 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 890 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
890 public: \ | 891 public: \ |
891 enum { ID = msg_class##__ID }; \ | 892 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, type3_out* arg6) \ | 893 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
type1_out* arg4, type2_out* arg5, type3_out* arg6) \ |
893 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 894 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
894 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ | 895 Tuple3<type1_out&, type2_out&, type3_out&> >(MSG_ROUTING_CONTROL, \ |
895 ID, \ | 896 ID, \ |
896 MakeTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5, *arg6)) {} \ | 897 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5, *arg6)) {
} \ |
897 }; | 898 }; |
898 | 899 |
899 #define IPC_SYNC_MESSAGE_CONTROL4_1(msg_class, type1_in, type2_in, type3_in, typ
e4_in, type1_out) \ | 900 #define IPC_SYNC_MESSAGE_CONTROL4_1(msg_class, type1_in, type2_in, type3_in, typ
e4_in, type1_out) \ |
900 class msg_class : \ | 901 class msg_class : \ |
901 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 902 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
902 Tuple1<type1_out&> > { \ | 903 Tuple1<type1_out&> > { \ |
903 public: \ | 904 public: \ |
904 enum { ID = msg_class##__ID }; \ | 905 enum { ID = msg_class##__ID }; \ |
905 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
const type4_in& arg4, type1_out* arg6) \ | 906 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
const type4_in& arg4, type1_out* arg6) \ |
906 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 907 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ |
907 Tuple1<type1_out&> >(MSG_ROUTING_CONTROL, ID, \ | 908 Tuple1<type1_out&> >(MSG_ROUTING_CONTROL, ID, \ |
908 MakeTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg6)) {} \ | 909 MakeRefTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg6)) {} \ |
909 }; | 910 }; |
910 | 911 |
911 #define IPC_SYNC_MESSAGE_CONTROL4_2(msg_class, type1_in, type2_in, type3_in, typ
e4_in, type1_out, type2_out) \ | 912 #define IPC_SYNC_MESSAGE_CONTROL4_2(msg_class, type1_in, type2_in, type3_in, typ
e4_in, type1_out, type2_out) \ |
912 class msg_class : \ | 913 class msg_class : \ |
913 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 914 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
914 Tuple2<type1_out&, type2_out&> > { \ | 915 Tuple2<type1_out&, type2_out&> > { \ |
915 public: \ | 916 public: \ |
916 enum { ID = msg_class##__ID }; \ | 917 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* arg5, type2_out* arg6) \ | 918 msg_class(const type1_in& arg1, const type2_in& arg2, const type3_in& arg3,
const type4_in& arg4, type1_out* arg5, type2_out* arg6) \ |
918 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 919 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ |
919 Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ | 920 Tuple2<type1_out&, type2_out&> >(MSG_ROUTING_CONTROL, ID, \ |
920 MakeTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg5, *arg6)) {} \ | 921 MakeRefTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg5, *arg6)) {}
\ |
921 }; | 922 }; |
922 | 923 |
923 #define IPC_SYNC_MESSAGE_ROUTED0_1(msg_class, type1_out) \ | 924 #define IPC_SYNC_MESSAGE_ROUTED0_1(msg_class, type1_out) \ |
924 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> > {
\ | 925 class msg_class : public IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> > {
\ |
925 public: \ | 926 public: \ |
926 enum { ID = msg_class##__ID }; \ | 927 enum { ID = msg_class##__ID }; \ |
927 msg_class(int routing_id, type1_out* arg1) \ | 928 msg_class(int routing_id, type1_out* arg1) \ |
928 : IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> >( \ | 929 : IPC::MessageWithReply<Tuple0, Tuple1<type1_out&> >( \ |
929 routing_id, ID, \ | 930 routing_id, ID, \ |
930 MakeTuple(), MakeRefTuple(*arg1)) {} \ | 931 MakeTuple(), MakeRefTuple(*arg1)) {} \ |
(...skipping 27 matching lines...) Expand all Loading... |
958 public: \ | 959 public: \ |
959 enum { ID = msg_class##__ID }; \ | 960 enum { ID = msg_class##__ID }; \ |
960 msg_class(int routing_id, type1_out* arg1, type2_out* arg2, type3_out* arg3)
\ | 961 msg_class(int routing_id, type1_out* arg1, type2_out* arg2, type3_out* arg3)
\ |
961 : IPC::MessageWithReply<Tuple0, \ | 962 : IPC::MessageWithReply<Tuple0, \ |
962 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 963 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ |
963 MakeTuple(), MakeRefTuple(*arg1, *arg2, *arg3)) {} \ | 964 MakeTuple(), MakeRefTuple(*arg1, *arg2, *arg3)) {} \ |
964 }; | 965 }; |
965 | 966 |
966 #define IPC_SYNC_MESSAGE_ROUTED1_0(msg_class, type1_in) \ | 967 #define IPC_SYNC_MESSAGE_ROUTED1_0(msg_class, type1_in) \ |
967 class msg_class : \ | 968 class msg_class : \ |
968 public IPC::MessageWithReply<type1_in, Tuple0 > { \ | 969 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 > { \ |
969 public: \ | 970 public: \ |
970 enum { ID = msg_class##__ID }; \ | 971 enum { ID = msg_class##__ID }; \ |
971 msg_class(int routing_id, const type1_in& arg1) \ | 972 msg_class(int routing_id, const type1_in& arg1) \ |
972 : IPC::MessageWithReply<type1_in, Tuple0 >( \ | 973 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple0 >( \ |
973 routing_id, ID, \ | 974 routing_id, ID, \ |
974 arg1, MakeTuple()) {} \ | 975 MakeRefTuple(arg1), MakeTuple()) {} \ |
975 }; | 976 }; |
976 | 977 |
977 #define IPC_SYNC_MESSAGE_ROUTED1_1(msg_class, type1_in, type1_out) \ | 978 #define IPC_SYNC_MESSAGE_ROUTED1_1(msg_class, type1_in, type1_out) \ |
978 class msg_class : \ | 979 class msg_class : \ |
979 public IPC::MessageWithReply<type1_in, Tuple1<type1_out&> > { \ | 980 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> > { \ |
980 public: \ | 981 public: \ |
981 enum { ID = msg_class##__ID }; \ | 982 enum { ID = msg_class##__ID }; \ |
982 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2) \ | 983 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2) \ |
983 : IPC::MessageWithReply<type1_in, Tuple1<type1_out&> >( \ | 984 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple1<type1_out&> >( \ |
984 routing_id, ID, \ | 985 routing_id, ID, \ |
985 arg1, MakeRefTuple(*arg2)) {} \ | 986 MakeRefTuple(arg1), MakeRefTuple(*arg2)) {} \ |
986 }; | 987 }; |
987 | 988 |
988 #define IPC_SYNC_MESSAGE_ROUTED1_2(msg_class, type1_in, type1_out, type2_out) \ | 989 #define IPC_SYNC_MESSAGE_ROUTED1_2(msg_class, type1_in, type1_out, type2_out) \ |
989 class msg_class : \ | 990 class msg_class : \ |
990 public IPC::MessageWithReply<type1_in, Tuple2<type1_out&, type2_out&> > {
\ | 991 public IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_ou
t&> > { \ |
991 public: \ | 992 public: \ |
992 enum { ID = msg_class##__ID }; \ | 993 enum { ID = msg_class##__ID }; \ |
993 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out*
arg3) \ | 994 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out*
arg3) \ |
994 : IPC::MessageWithReply<type1_in, Tuple2<type1_out&, type2_out&> >( \ | 995 : IPC::MessageWithReply<Tuple1<type1_in>, Tuple2<type1_out&, type2_out&>
>( \ |
995 routing_id, ID, \ | 996 routing_id, ID, \ |
996 arg1, MakeRefTuple(*arg2, *arg3)) {} \ | 997 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3)) {} \ |
997 }; | 998 }; |
998 | 999 |
999 #define IPC_SYNC_MESSAGE_ROUTED1_3(msg_class, type1_in, type1_out, type2_out, ty
pe3_out) \ | 1000 #define IPC_SYNC_MESSAGE_ROUTED1_3(msg_class, type1_in, type1_out, type2_out, ty
pe3_out) \ |
1000 class msg_class : \ | 1001 class msg_class : \ |
1001 public IPC::MessageWithReply<type1_in, \ | 1002 public IPC::MessageWithReply<Tuple1<type1_in>, \ |
1002 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ | 1003 Tuple3<type1_out&, type2_out&, type3_out&> >{ \ |
1003 public: \ | 1004 public: \ |
1004 enum { ID = msg_class##__ID }; \ | 1005 enum { ID = msg_class##__ID }; \ |
1005 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out*
arg3, type3_out* arg4) \ | 1006 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out*
arg3, type3_out* arg4) \ |
1006 : IPC::MessageWithReply<type1_in, \ | 1007 : IPC::MessageWithReply<Tuple1<type1_in>, \ |
1007 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 1008 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ |
1008 arg1, MakeRefTuple(*arg2, *arg3, *arg4)) {} \ | 1009 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3, *arg4)) {} \ |
1009 }; | 1010 }; |
1010 | 1011 |
1011 #define IPC_SYNC_MESSAGE_ROUTED1_4(msg_class, type1_in, type1_out, type2_out, ty
pe3_out, type4_out) \ | 1012 #define IPC_SYNC_MESSAGE_ROUTED1_4(msg_class, type1_in, type1_out, type2_out, ty
pe3_out, type4_out) \ |
1012 class msg_class : \ | 1013 class msg_class : \ |
1013 public IPC::MessageWithReply<type1_in, \ | 1014 public IPC::MessageWithReply<Tuple1<type1_in>, \ |
1014 Tuple4<type1_out&, type2_out&, type3_out&, type4_out&> >{ \ | 1015 Tuple4<type1_out&, type2_out&, type3_out&, type4_out&> >{ \ |
1015 public: \ | 1016 public: \ |
1016 enum { ID = msg_class##__ID }; \ | 1017 enum { ID = msg_class##__ID }; \ |
1017 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out*
arg3, type3_out* arg4, type4_out* arg5) \ | 1018 msg_class(int routing_id, const type1_in& arg1, type1_out* arg2, type2_out*
arg3, type3_out* arg4, type4_out* arg5) \ |
1018 : IPC::MessageWithReply<type1_in, \ | 1019 : IPC::MessageWithReply<Tuple1<type1_in>, \ |
1019 Tuple4<type1_out&, type2_out&, type3_out&, type4_out&> >(routing_id,
ID, \ | 1020 Tuple4<type1_out&, type2_out&, type3_out&, type4_out&> >(routing_id,
ID, \ |
1020 arg1, MakeRefTuple(*arg2, *arg3, *arg4, *arg5)) {} \ | 1021 MakeRefTuple(arg1), MakeRefTuple(*arg2, *arg3, *arg4, *arg5)) {} \ |
1021 }; | 1022 }; |
1022 | 1023 |
1023 #define IPC_SYNC_MESSAGE_ROUTED2_0(msg_class, type1_in, type2_in) \ | 1024 #define IPC_SYNC_MESSAGE_ROUTED2_0(msg_class, type1_in, type2_in) \ |
1024 class msg_class : \ | 1025 class msg_class : \ |
1025 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 > { \ | 1026 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 > { \ |
1026 public: \ | 1027 public: \ |
1027 enum { ID = msg_class##__ID }; \ | 1028 enum { ID = msg_class##__ID }; \ |
1028 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2) \ | 1029 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2) \ |
1029 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 >( \ | 1030 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple0 >( \ |
1030 routing_id, ID, \ | 1031 routing_id, ID, \ |
1031 MakeTuple(arg1, arg2), MakeTuple()) {} \ | 1032 MakeRefTuple(arg1, arg2), MakeTuple()) {} \ |
1032 }; | 1033 }; |
1033 | 1034 |
1034 #define IPC_SYNC_MESSAGE_ROUTED2_1(msg_class, type1_in, type2_in, type1_out) \ | 1035 #define IPC_SYNC_MESSAGE_ROUTED2_1(msg_class, type1_in, type2_in, type1_out) \ |
1035 class msg_class : \ | 1036 class msg_class : \ |
1036 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&
> > { \ | 1037 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&
> > { \ |
1037 public: \ | 1038 public: \ |
1038 enum { ID = msg_class##__ID }; \ | 1039 enum { ID = msg_class##__ID }; \ |
1039 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_
out* arg3) \ | 1040 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_
out* arg3) \ |
1040 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&> >
( \ | 1041 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, Tuple1<type1_out&> >
( \ |
1041 routing_id, ID, \ | 1042 routing_id, ID, \ |
1042 MakeTuple(arg1, arg2), MakeRefTuple(*arg3)) {} \ | 1043 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3)) {} \ |
1043 }; | 1044 }; |
1044 | 1045 |
1045 #define IPC_SYNC_MESSAGE_ROUTED2_2(msg_class, type1_in, type2_in, type1_out, typ
e2_out) \ | 1046 #define IPC_SYNC_MESSAGE_ROUTED2_2(msg_class, type1_in, type2_in, type1_out, typ
e2_out) \ |
1046 class msg_class : \ | 1047 class msg_class : \ |
1047 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 1048 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
1048 Tuple2<type1_out&, type2_out&> > { \ | 1049 Tuple2<type1_out&, type2_out&> > { \ |
1049 public: \ | 1050 public: \ |
1050 enum { ID = msg_class##__ID }; \ | 1051 enum { ID = msg_class##__ID }; \ |
1051 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_
out* arg3, type2_out* arg4) \ | 1052 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_
out* arg3, type2_out* arg4) \ |
1052 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 1053 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
1053 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ | 1054 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ |
1054 MakeTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4)) {} \ | 1055 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4)) {} \ |
1055 }; | 1056 }; |
1056 | 1057 |
1057 #define IPC_SYNC_MESSAGE_ROUTED2_3(msg_class, type1_in, type2_in, type1_out, typ
e2_out, type3_out) \ | 1058 #define IPC_SYNC_MESSAGE_ROUTED2_3(msg_class, type1_in, type2_in, type1_out, typ
e2_out, type3_out) \ |
1058 class msg_class : \ | 1059 class msg_class : \ |
1059 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 1060 public IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
1060 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 1061 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
1061 public: \ | 1062 public: \ |
1062 enum { ID = msg_class##__ID }; \ | 1063 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, type3_out* arg5) \ | 1064 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, type1_
out* arg3, type2_out* arg4, type3_out* arg5) \ |
1064 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ | 1065 : IPC::MessageWithReply<Tuple2<type1_in, type2_in>, \ |
1065 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 1066 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ |
1066 MakeTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4, *arg5)) {} \ | 1067 MakeRefTuple(arg1, arg2), MakeRefTuple(*arg3, *arg4, *arg5)) {} \ |
1067 }; | 1068 }; |
1068 | 1069 |
1069 #define IPC_SYNC_MESSAGE_ROUTED3_0(msg_class, type1_in, type2_in, type3_in) \ | 1070 #define IPC_SYNC_MESSAGE_ROUTED3_0(msg_class, type1_in, type2_in, type3_in) \ |
1070 class msg_class : \ | 1071 class msg_class : \ |
1071 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, Tuple0
> { \ | 1072 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, Tuple0
> { \ |
1072 public: \ | 1073 public: \ |
1073 enum { ID = msg_class##__ID }; \ | 1074 enum { ID = msg_class##__ID }; \ |
1074 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3) \ | 1075 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3) \ |
1075 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, Tuple0>( \ | 1076 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, Tuple0>( \ |
1076 routing_id, ID, \ | 1077 routing_id, ID, \ |
1077 MakeTuple(arg1, arg2, arg3), MakeTuple()) {} \ | 1078 MakeRefTuple(arg1, arg2, arg3), MakeTuple()) {} \ |
1078 }; | 1079 }; |
1079 | 1080 |
1080 #define IPC_SYNC_MESSAGE_ROUTED3_1(msg_class, type1_in, type2_in, type3_in, type
1_out) \ | 1081 #define IPC_SYNC_MESSAGE_ROUTED3_1(msg_class, type1_in, type2_in, type3_in, type
1_out) \ |
1081 class msg_class : \ | 1082 class msg_class : \ |
1082 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1083 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
1083 Tuple1<type1_out&> > { \ | 1084 Tuple1<type1_out&> > { \ |
1084 public: \ | 1085 public: \ |
1085 enum { ID = msg_class##__ID }; \ | 1086 enum { ID = msg_class##__ID }; \ |
1086 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, type1_out* arg4) \ | 1087 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, type1_out* arg4) \ |
1087 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1088 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
1088 Tuple1<type1_out&> >(routing_id, ID, \ | 1089 Tuple1<type1_out&> >(routing_id, ID, \ |
1089 MakeTuple(arg1, arg2, arg3), MakeRefTuple(*arg4)) {} \ | 1090 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4)) {} \ |
1090 }; | 1091 }; |
1091 | 1092 |
1092 #define IPC_SYNC_MESSAGE_ROUTED3_2(msg_class, type1_in, type2_in, type3_in, type
1_out, type2_out) \ | 1093 #define IPC_SYNC_MESSAGE_ROUTED3_2(msg_class, type1_in, type2_in, type3_in, type
1_out, type2_out) \ |
1093 class msg_class : \ | 1094 class msg_class : \ |
1094 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1095 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
1095 Tuple2<type1_out&, type2_out&> > { \ | 1096 Tuple2<type1_out&, type2_out&> > { \ |
1096 public: \ | 1097 public: \ |
1097 enum { ID = msg_class##__ID }; \ | 1098 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, type2_out* arg5) \ | 1099 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, type1_out* arg4, type2_out* arg5) \ |
1099 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1100 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
1100 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ | 1101 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ |
1101 MakeTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5)) {} \ | 1102 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5)) {} \ |
1102 }; | 1103 }; |
1103 | 1104 |
1104 #define IPC_SYNC_MESSAGE_ROUTED3_3(msg_class, type1_in, type2_in, type3_in, type
1_out, type2_out, type3_out) \ | 1105 #define IPC_SYNC_MESSAGE_ROUTED3_3(msg_class, type1_in, type2_in, type3_in, type
1_out, type2_out, type3_out) \ |
1105 class msg_class : \ | 1106 class msg_class : \ |
1106 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1107 public IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
1107 Tuple3<type1_out&, type2_out&, type3_out&> > { \ | 1108 Tuple3<type1_out&, type2_out&, type3_out&> > { \ |
1108 public: \ | 1109 public: \ |
1109 enum { ID = msg_class##__ID }; \ | 1110 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, type3_out* arg6) \ | 1111 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) \ |
1111 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ | 1112 : IPC::MessageWithReply<Tuple3<type1_in, type2_in, type3_in>, \ |
1112 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ | 1113 Tuple3<type1_out&, type2_out&, type3_out&> >(routing_id, ID, \ |
1113 MakeTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5, *arg6)) {} \ | 1114 MakeRefTuple(arg1, arg2, arg3), MakeRefTuple(*arg4, *arg5, *arg6)) {
} \ |
1114 }; | 1115 }; |
1115 | 1116 |
1116 #define IPC_SYNC_MESSAGE_ROUTED4_0(msg_class, type1_in, type2_in, type3_in, type
4_in) \ | 1117 #define IPC_SYNC_MESSAGE_ROUTED4_0(msg_class, type1_in, type2_in, type3_in, type
4_in) \ |
1117 class msg_class : \ | 1118 class msg_class : \ |
1118 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 1119 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
1119 Tuple0 > { \ | 1120 Tuple0 > { \ |
1120 public: \ | 1121 public: \ |
1121 enum { ID = msg_class##__ID }; \ | 1122 enum { ID = msg_class##__ID }; \ |
1122 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4) \ | 1123 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4) \ |
1123 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 1124 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ |
1124 Tuple0 >(routing_id, ID, \ | 1125 Tuple0 >(routing_id, ID, \ |
1125 MakeTuple(arg1, arg2, arg3, arg4), MakeTuple()) {} \ | 1126 MakeRefTuple(arg1, arg2, arg3, arg4), MakeTuple()) {} \ |
1126 }; | 1127 }; |
1127 | 1128 |
1128 #define IPC_SYNC_MESSAGE_ROUTED4_1(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out) \ | 1129 #define IPC_SYNC_MESSAGE_ROUTED4_1(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out) \ |
1129 class msg_class : \ | 1130 class msg_class : \ |
1130 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 1131 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
1131 Tuple1<type1_out&> > { \ | 1132 Tuple1<type1_out&> > { \ |
1132 public: \ | 1133 public: \ |
1133 enum { ID = msg_class##__ID }; \ | 1134 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, type1_out* arg6) \ | 1135 msg_class(int routing_id, const type1_in& arg1, const type2_in& arg2, const
type3_in& arg3, const type4_in& arg4, type1_out* arg6) \ |
1135 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 1136 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ |
1136 Tuple1<type1_out&> >(routing_id, ID, \ | 1137 Tuple1<type1_out&> >(routing_id, ID, \ |
1137 MakeTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg6)) {} \ | 1138 MakeRefTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg6)) {} \ |
1138 }; | 1139 }; |
1139 | 1140 |
1140 #define IPC_SYNC_MESSAGE_ROUTED4_2(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out, type2_out) \ | 1141 #define IPC_SYNC_MESSAGE_ROUTED4_2(msg_class, type1_in, type2_in, type3_in, type
4_in, type1_out, type2_out) \ |
1141 class msg_class : \ | 1142 class msg_class : \ |
1142 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ | 1143 public IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in
>, \ |
1143 Tuple2<type1_out&, type2_out&> > { \ | 1144 Tuple2<type1_out&, type2_out&> > { \ |
1144 public: \ | 1145 public: \ |
1145 enum { ID = msg_class##__ID }; \ | 1146 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* arg5, type2_out* arg6) \ | 1147 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) \ |
1147 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ | 1148 : IPC::MessageWithReply<Tuple4<type1_in, type2_in, type3_in, type4_in>,
\ |
1148 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ | 1149 Tuple2<type1_out&, type2_out&> >(routing_id, ID, \ |
1149 MakeTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg5, *arg6)) {} \ | 1150 MakeRefTuple(arg1, arg2, arg3, arg4), MakeRefTuple(*arg5, *arg6)) {}
\ |
1150 }; | 1151 }; |
1151 | 1152 |
1152 #endif // #if defined() | 1153 #endif // #if defined() |
OLD | NEW |