Mercurial > pidgin
comparison src/toc.c @ 196:3042e11c1902
[gaim-migrate @ 206]
Figured out some UUID's, and prepared for their eventual implementation.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Sun, 30 Apr 2000 00:34:14 +0000 |
parents | d7690984c0f1 |
children | 24f0fef56a73 |
comparison
equal
deleted
inserted
replaced
195:a82e9f91a6fc | 196:3042e11c1902 |
---|---|
170 | 170 |
171 | 171 |
172 g_snprintf(buf2, sizeof(buf2), "toc_init_done"); | 172 g_snprintf(buf2, sizeof(buf2), "toc_init_done"); |
173 sflap_send(buf2, -1, TYPE_DATA); | 173 sflap_send(buf2, -1, TYPE_DATA); |
174 | 174 |
175 g_snprintf(buf2, sizeof(buf2), "toc_set_caps %s", | 175 g_snprintf(buf2, sizeof(buf2), "toc_set_caps %s %s", |
176 FILETRANS_UID); | 176 FILE_SEND_UID, FILE_GET_UID); |
177 sflap_send(buf2, -1, TYPE_DATA); | 177 sflap_send(buf2, -1, TYPE_DATA); |
178 | 178 |
179 serv_finish_login(); | 179 serv_finish_login(); |
180 return 0; | 180 return 0; |
181 } | 181 } |
578 | 578 |
579 serv_got_chat_invite(name, id, who, message); | 579 serv_got_chat_invite(name, id, who, message); |
580 | 580 |
581 | 581 |
582 } else if (!strcasecmp(c, "RVOUS_PROPOSE")) { | 582 } else if (!strcasecmp(c, "RVOUS_PROPOSE")) { |
583 /* File trans. Yummy. */ | |
584 char *user; | 583 char *user; |
585 char *uuid; | 584 char *uuid; |
586 char *cookie; | 585 char *cookie; |
587 int seq; | 586 int seq; |
588 char *rip, *pip, *vip; | 587 char *rip, *pip, *vip; |
612 messages[i] = frombase64(strtok(NULL, ":")); | 611 messages[i] = frombase64(strtok(NULL, ":")); |
613 } | 612 } |
614 | 613 |
615 tmp = frombase64(strtok(NULL, ":")); | 614 tmp = frombase64(strtok(NULL, ":")); |
616 | 615 |
617 subtype = tmp[1]; | 616 if (!strcmp(uuid, FILE_GET_UID)) { |
618 files = tmp[3]; /* These are fine */ | 617 /* we're getting a file */ |
619 | 618 subtype = tmp[1]; |
620 temp = tmp[4]; | 619 files = tmp[3]; /* These are fine */ |
621 temp <<= 24; | 620 |
622 temp &= 0xff000000; | 621 totalsize = 0; |
623 totalsize = temp; | 622 totalsize |= (tmp[4] << 24) & 0xff000000; |
624 temp = tmp[5]; | 623 totalsize |= (tmp[5] << 16) & 0x00ff0000; |
625 temp <<= 16; | 624 totalsize |= (tmp[6] << 8) & 0x0000ff00; |
626 temp &= 0x00ff0000; | 625 totalsize |= (tmp[7] << 0) & 0x000000ff; |
627 totalsize |= temp; | 626 |
628 temp = tmp[6]; | 627 name = tmp + 8; |
629 temp <<= 8; | 628 |
630 temp &= 0x0000ff00; | 629 ft = g_new0(struct file_transfer, 1); |
631 totalsize |= temp; | 630 |
632 temp = tmp[7]; | 631 ft->cookie = frombase64(cookie); |
633 temp &= 0x000000ff; | 632 ft->ip = g_strdup(pip); |
634 totalsize |= temp; | 633 ft->port = port; |
635 | 634 if (i) |
636 name = tmp + 8; | 635 ft->message = g_strdup(messages[0]); |
637 | 636 else |
638 ft = g_new0(struct file_transfer, 1); | 637 ft->message = NULL; |
639 | 638 ft->filename = g_strdup(name); |
640 ft->cookie = frombase64(cookie); | 639 ft->user = g_strdup(user); |
641 ft->ip = g_strdup(pip); | 640 ft->size = totalsize; |
642 ft->port = port; | |
643 if (i) | |
644 ft->message = g_strdup(messages[0]); | |
645 else | |
646 ft->message = NULL; | |
647 ft->filename = g_strdup(name); | |
648 ft->user = g_strdup(user); | |
649 ft->size = totalsize; | |
650 | 641 |
651 g_free(tmp); | 642 g_free(tmp); |
652 | 643 |
653 for (i--; i >= 0; i--) | 644 for (i--; i >= 0; i--) |
654 g_free(messages[i]); | 645 g_free(messages[i]); |
655 | 646 |
656 accept_file_dialog(ft); | 647 accept_file_dialog(ft); |
648 } else if (!strcmp(uuid, FILE_SEND_UID)) { | |
649 /* we're sending a file */ | |
650 /* FIXME */ | |
651 /* here's what needs to happen: | |
652 * 1. dialog to accept/reject transfer | |
653 * 2. if cancel, toc_rvous_cancel | |
654 * 3. if accept, first open a socket, then accept | |
655 * a. on connect, send header | |
656 * b. wait for header | |
657 * c. send file | |
658 * d. wait for info | |
659 */ | |
660 /* | |
661 } else if (!strcmp(uuid, VOICE_UID)) { | |
662 } else if (!strcmp(uuid, B_ICON_UID)) { | |
663 } else if (!strcmp(uuid, IMAGE_UID)) { | |
664 */ | |
665 | |
666 } else { | |
667 sprintf(debug_buff,"don't know what to do with %s\n", | |
668 uuid); | |
669 debug_print(debug_buff); | |
670 } | |
657 } else { | 671 } else { |
658 sprintf(debug_buff,"don't know what to do with %s\n", c); | 672 sprintf(debug_buff,"don't know what to do with %s\n", c); |
659 debug_print(debug_buff); | 673 debug_print(debug_buff); |
660 } | 674 } |
661 g_free(buf); | 675 g_free(buf); |