src/plugins.c

changeset 1000
66436e94d53f
parent 981
00723c9a507c
child 1025
6b935cc3f62d
equal deleted inserted replaced
999:2169e93be210 1000:66436e94d53f
559 sprintf(buf, "event_buddy_away"); 559 sprintf(buf, "event_buddy_away");
560 break; 560 break;
561 case event_buddy_back: 561 case event_buddy_back:
562 sprintf(buf, "event_buddy_back"); 562 sprintf(buf, "event_buddy_back");
563 break; 563 break;
564 case event_buddy_idle:
565 sprintf(buf, "event_buddy_idle");
566 break;
567 case event_buddy_unidle:
568 sprintf(buf, "event_buddy_unidle");
569 break;
564 case event_blist_update: 570 case event_blist_update:
565 sprintf(buf, "event_blist_update"); 571 sprintf(buf, "event_blist_update");
566 break; 572 break;
567 case event_chat_invited: 573 case event_chat_invited:
568 sprintf(buf, "event_chat_invited"); 574 sprintf(buf, "event_chat_invited");
602 break; 608 break;
603 } 609 }
604 return buf; 610 return buf;
605 } 611 }
606 612
607 void plugin_event(enum gaim_event event, void *arg1, void *arg2, void *arg3) { 613 void plugin_event(enum gaim_event event, void *arg1, void *arg2, void *arg3, void *arg4) {
608 #ifdef USE_PERL 614 #ifdef USE_PERL
609 char buf[BUF_LONG]; 615 char buf[BUF_LONG];
610 char *tmp; 616 char *tmp;
611 #endif 617 #endif
612 #ifdef GAIM_PLUGINS 618 #ifdef GAIM_PLUGINS
616 while (c) { 622 while (c) {
617 g = (struct gaim_callback *)c->data; 623 g = (struct gaim_callback *)c->data;
618 if (g->event == event && g->function != NULL) { 624 if (g->event == event && g->function != NULL) {
619 switch(event) { 625 switch(event) {
620 626
621 /* no args */ 627 /* struct gaim_connection * */
622 case event_signon: 628 case event_signon:
623 case event_signoff: 629 case event_signoff:
630 {
631 void (*function)(struct gaim_connection *, void *) = g->function;
632 (*function)(arg1, g->data);
633 }
634 break;
635
636 /* no args */
624 case event_away: 637 case event_away:
625 case event_back: 638 case event_back:
626 case event_blist_update: 639 case event_blist_update:
627 case event_quit: 640 case event_quit:
628 { 641 {
629 void (*function)(void *) = g->function; 642 void (*function)(void *) = g->function;
630 (*function)(g->data); 643 (*function)(g->data);
631 } 644 }
632 break; 645 break;
633 646
634 /* char **, char ** */ 647 /* struct gaim_connection *, char **, char ** */
635 case event_im_recv: 648 case event_im_recv:
636 { 649 {
637 void (*function)(char **, char **, void *) = g->function; 650 void (*function)(struct gaim_connection *, char **, char **,
638 (*function)(arg1, arg2, g->data); 651 void *) = g->function;
639 } 652 (*function)(arg1, arg2, arg3, g->data);
640 break; 653 }
641 654 break;
642 /* char *, char ** */ 655
656 /* struct gaim_connection *, char *, char ** */
643 case event_im_send: 657 case event_im_send:
644 case event_chat_send: 658 case event_chat_send:
645 { 659 {
646 void (*function)(char *, char **, void *) = g->function; 660 void (*function)(struct gaim_connection *, char *, char **,
661 void *) = g->function;
662 (*function)(arg1, arg2, arg3, g->data);
663 }
664 break;
665
666 /* struct gaim_connection *, char * */
667 case event_chat_join:
668 case event_chat_leave:
669 {
670 void (*function)(struct gaim_connection *, char *, void *) =
671 g->function;
647 (*function)(arg1, arg2, g->data); 672 (*function)(arg1, arg2, g->data);
648 } 673 }
649 break; 674 break;
650 675
651 /* char * */ 676 /* char * */
652 case event_buddy_signon: 677 case event_buddy_signon:
653 case event_buddy_signoff: 678 case event_buddy_signoff:
654 case event_buddy_away: 679 case event_buddy_away:
655 case event_buddy_back: 680 case event_buddy_back:
656 case event_chat_join: 681 case event_buddy_idle:
657 case event_chat_leave: 682 case event_buddy_unidle:
658 case event_new_conversation: 683 case event_new_conversation:
659 { 684 {
660 void (*function)(char *, void *) = g->function; 685 void (*function)(char *, void *) = g->function;
661 (*function)(arg1, g->data); 686 (*function)(arg1, g->data);
662 } 687 }
663 break; 688 break;
664 689
665 /* char *, char *, char * */ 690 /* struct gaim_connection *, char *, char *, char * */
666 case event_chat_invited: 691 case event_chat_invited:
667 case event_chat_recv: 692 case event_chat_recv:
668 { 693 {
669 void (*function)(char *, char *, char *, void *) = g->function; 694 void (*function)(struct gaim_connection *, char *, char *,
670 (*function)(arg1, arg2, arg3, g->data); 695 char *, void *) = g->function;
671 } 696 (*function)(arg1, arg2, arg3, arg4, g->data);
672 break; 697 }
673 698 break;
674 /* char *, char * */ 699
700 /* struct gaim_connection *, char *, char * */
675 case event_chat_buddy_join: 701 case event_chat_buddy_join:
676 case event_chat_buddy_leave: 702 case event_chat_buddy_leave:
677 { 703 {
678 void (*function)(char *, char *, void *) = g->function; 704 void (*function)(struct gaim_connection *, char *, char *,
679 (*function)(arg1, arg2, g->data); 705 void *) = g->function;
706 (*function)(arg1, arg2, arg3, g->data);
680 } 707 }
681 break; 708 break;
682 709
683 /* char *, int */ 710 /* char *, int */
684 case event_warned: 711 case event_warned:
706 } 733 }
707 #endif /* GAIM_PLUGINS */ 734 #endif /* GAIM_PLUGINS */
708 #ifdef USE_PERL 735 #ifdef USE_PERL
709 switch (event) { 736 switch (event) {
710 case event_signon: 737 case event_signon:
711 buf[0] = 0; 738 g_snprintf(buf, sizeof buf, "\"%s\"", ((struct gaim_connection *)arg1)->username);
712 break; 739 break;
713 case event_signoff: 740 case event_signoff:
714 buf[0] = 0; 741 g_snprintf(buf, sizeof buf, "\"%s\"", ((struct gaim_connection *)arg1)->username);
715 break; 742 break;
716 case event_away: 743 case event_away:
717 buf[0] = 0; 744 buf[0] = 0;
718 break; 745 break;
719 case event_back: 746 case event_back:
720 buf[0] = 0; 747 buf[0] = 0;
721 break; 748 break;
722 case event_im_recv: 749 case event_im_recv:
723 g_snprintf(buf, sizeof buf, "\"%s\" %s", *(char **)arg1, *(char **)arg2); 750 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", ((struct gaim_connection *)arg1)->username, *(char **)arg2, *(char **)arg3);
724 break; 751 break;
725 case event_im_send: 752 case event_im_send:
726 g_snprintf(buf, sizeof buf, "\"%s\" %s", (char *)arg1, *(char **)arg2); 753 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", ((struct gaim_connection *)arg1)->username, (char *)arg2, *(char **)arg3);
727 break; 754 break;
728 case event_buddy_signon: 755 case event_buddy_signon:
729 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1); 756 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1);
730 break; 757 break;
731 case event_buddy_signoff: 758 case event_buddy_signoff:
735 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1); 762 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1);
736 break; 763 break;
737 case event_buddy_back: 764 case event_buddy_back:
738 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1); 765 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1);
739 break; 766 break;
767 case event_buddy_idle:
768 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1);
769 break;
770 case event_buddy_unidle:
771 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1);
772 break;
740 case event_blist_update: 773 case event_blist_update:
741 buf[0] = 0; 774 buf[0] = 0;
742 break; 775 break;
743 case event_chat_invited: 776 case event_chat_invited:
744 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", (char *)arg1, (char *)arg2, (char *)arg3); 777 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", (char *)arg2, (char *)arg3, (char *)arg4);
745 break; 778 break;
746 case event_chat_join: 779 case event_chat_join:
747 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1); 780 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2);
748 break; 781 break;
749 case event_chat_leave: 782 case event_chat_leave:
750 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1); 783 g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2);
751 break; 784 break;
752 case event_chat_buddy_join: 785 case event_chat_buddy_join:
753 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\"", (char *)arg1, (char *)arg2); 786 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\"", (char *)arg2, (char *)arg3);
754 break; 787 break;
755 case event_chat_buddy_leave: 788 case event_chat_buddy_leave:
756 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\"", (char *)arg1, (char *)arg2); 789 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\"", (char *)arg2, (char *)arg3);
757 break; 790 break;
758 case event_chat_recv: 791 case event_chat_recv:
759 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", (char *)arg1, (char *)arg2, (char *)arg3); 792 g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", (char *)arg2, (char *)arg3, (char *)arg4);
760 break; 793 break;
761 case event_chat_send: 794 case event_chat_send:
762 g_snprintf(buf, sizeof buf, "\"%s\" %s", (char *)arg1, *(char **)arg2); 795 g_snprintf(buf, sizeof buf, "\"%s\" %s", (char *)arg2, *(char **)arg3);
763 break; 796 break;
764 case event_warned: 797 case event_warned:
765 g_snprintf(buf, sizeof buf, "\"%s\" %d", (char *)arg1, (int)arg2); 798 g_snprintf(buf, sizeof buf, "\"%s\" %d", (char *)arg1, (int)arg2);
766 break; 799 break;
767 case event_error: 800 case event_error:

mercurial