Mercurial > pidgin
comparison libpurple/ft.c @ 32819:2c6510167895 default tip
propagate from branch 'im.pidgin.pidgin.2.x.y' (head 3315c5dfbd0ad16511bdcf865e5b07c02d07df24)
to branch 'im.pidgin.pidgin' (head cbd1eda6bcbf0565ae7766396bb8f6f419cb6a9a)
| author | Elliott Sales de Andrade <qulogic@pidgin.im> |
|---|---|
| date | Sat, 02 Jun 2012 02:30:49 +0000 |
| parents | 5525312cf589 |
| children |
comparison
equal
deleted
inserted
replaced
| 32818:01ff09d4a463 | 32819:2c6510167895 |
|---|---|
| 218 | 218 |
| 219 if (xfer->ref == 0) | 219 if (xfer->ref == 0) |
| 220 purple_xfer_destroy(xfer); | 220 purple_xfer_destroy(xfer); |
| 221 } | 221 } |
| 222 | 222 |
| 223 static void | 223 void |
| 224 purple_xfer_set_status(PurpleXfer *xfer, PurpleXferStatusType status) | 224 purple_xfer_set_status(PurpleXfer *xfer, PurpleXferStatusType status) |
| 225 { | 225 { |
| 226 g_return_if_fail(xfer != NULL); | 226 g_return_if_fail(xfer != NULL); |
| 227 | 227 |
| 228 if (purple_debug_is_verbose()) | 228 if (purple_debug_is_verbose()) |
| 488 | 488 |
| 489 static void | 489 static void |
| 490 purple_xfer_ask_recv(PurpleXfer *xfer) | 490 purple_xfer_ask_recv(PurpleXfer *xfer) |
| 491 { | 491 { |
| 492 char *buf, *size_buf; | 492 char *buf, *size_buf; |
| 493 size_t size; | 493 goffset size; |
| 494 gconstpointer thumb; | 494 gconstpointer thumb; |
| 495 gsize thumb_size; | 495 gsize thumb_size; |
| 496 | 496 |
| 497 /* If we have already accepted the request, ask the destination file | 497 /* If we have already accepted the request, ask the destination file |
| 498 name directly */ | 498 name directly */ |
| 718 xfer->ops.request_denied(xfer); | 718 xfer->ops.request_denied(xfer); |
| 719 | 719 |
| 720 purple_xfer_unref(xfer); | 720 purple_xfer_unref(xfer); |
| 721 } | 721 } |
| 722 | 722 |
| 723 int purple_xfer_get_fd(PurpleXfer *xfer) | |
| 724 { | |
| 725 g_return_val_if_fail(xfer != NULL, 0); | |
| 726 | |
| 727 return xfer->fd; | |
| 728 } | |
| 729 | |
| 730 int purple_xfer_get_watcher(PurpleXfer *xfer) | |
| 731 { | |
| 732 g_return_val_if_fail(xfer != NULL, 0); | |
| 733 | |
| 734 return xfer->watcher; | |
| 735 } | |
| 736 | |
| 723 PurpleXferType | 737 PurpleXferType |
| 724 purple_xfer_get_type(const PurpleXfer *xfer) | 738 purple_xfer_get_type(const PurpleXfer *xfer) |
| 725 { | 739 { |
| 726 g_return_val_if_fail(xfer != NULL, PURPLE_XFER_UNKNOWN); | 740 g_return_val_if_fail(xfer != NULL, PURPLE_XFER_UNKNOWN); |
| 727 | 741 |
| 749 g_return_val_if_fail(xfer != NULL, PURPLE_XFER_STATUS_UNKNOWN); | 763 g_return_val_if_fail(xfer != NULL, PURPLE_XFER_STATUS_UNKNOWN); |
| 750 | 764 |
| 751 return xfer->status; | 765 return xfer->status; |
| 752 } | 766 } |
| 753 | 767 |
| 754 /* FIXME: Rename with cancelled for 3.0.0. */ | |
| 755 gboolean | 768 gboolean |
| 756 purple_xfer_is_canceled(const PurpleXfer *xfer) | 769 purple_xfer_is_cancelled(const PurpleXfer *xfer) |
| 757 { | 770 { |
| 758 g_return_val_if_fail(xfer != NULL, TRUE); | 771 g_return_val_if_fail(xfer != NULL, TRUE); |
| 759 | 772 |
| 760 if ((purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_CANCEL_LOCAL) || | 773 if ((purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_CANCEL_LOCAL) || |
| 761 (purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_CANCEL_REMOTE)) | 774 (purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_CANCEL_REMOTE)) |
| 786 g_return_val_if_fail(xfer != NULL, NULL); | 799 g_return_val_if_fail(xfer != NULL, NULL); |
| 787 | 800 |
| 788 return xfer->local_filename; | 801 return xfer->local_filename; |
| 789 } | 802 } |
| 790 | 803 |
| 791 size_t | 804 goffset |
| 792 purple_xfer_get_bytes_sent(const PurpleXfer *xfer) | 805 purple_xfer_get_bytes_sent(const PurpleXfer *xfer) |
| 793 { | 806 { |
| 794 g_return_val_if_fail(xfer != NULL, 0); | 807 g_return_val_if_fail(xfer != NULL, 0); |
| 795 | 808 |
| 796 return xfer->bytes_sent; | 809 return xfer->bytes_sent; |
| 797 } | 810 } |
| 798 | 811 |
| 799 size_t | 812 goffset |
| 800 purple_xfer_get_bytes_remaining(const PurpleXfer *xfer) | 813 purple_xfer_get_bytes_remaining(const PurpleXfer *xfer) |
| 801 { | 814 { |
| 802 g_return_val_if_fail(xfer != NULL, 0); | 815 g_return_val_if_fail(xfer != NULL, 0); |
| 803 | 816 |
| 804 return xfer->bytes_remaining; | 817 return xfer->bytes_remaining; |
| 805 } | 818 } |
| 806 | 819 |
| 807 size_t | 820 goffset |
| 808 purple_xfer_get_size(const PurpleXfer *xfer) | 821 purple_xfer_get_size(const PurpleXfer *xfer) |
| 809 { | 822 { |
| 810 g_return_val_if_fail(xfer != NULL, 0); | 823 g_return_val_if_fail(xfer != NULL, 0); |
| 811 | 824 |
| 812 return xfer->size; | 825 return xfer->size; |
| 860 purple_xfer_get_end_time(const PurpleXfer *xfer) | 873 purple_xfer_get_end_time(const PurpleXfer *xfer) |
| 861 { | 874 { |
| 862 g_return_val_if_fail(xfer != NULL, 0); | 875 g_return_val_if_fail(xfer != NULL, 0); |
| 863 | 876 |
| 864 return xfer->end_time; | 877 return xfer->end_time; |
| 878 } | |
| 879 | |
| 880 void purple_xfer_set_fd(PurpleXfer *xfer, int fd) | |
| 881 { | |
| 882 g_return_if_fail(xfer != NULL); | |
| 883 | |
| 884 xfer->fd = fd; | |
| 885 } | |
| 886 | |
| 887 void purple_xfer_set_watcher(PurpleXfer *xfer, int watcher) | |
| 888 { | |
| 889 g_return_if_fail(xfer != NULL); | |
| 890 | |
| 891 xfer->watcher = watcher; | |
| 865 } | 892 } |
| 866 | 893 |
| 867 void | 894 void |
| 868 purple_xfer_set_completed(PurpleXfer *xfer, gboolean completed) | 895 purple_xfer_set_completed(PurpleXfer *xfer, gboolean completed) |
| 869 { | 896 { |
| 936 g_free(xfer->local_filename); | 963 g_free(xfer->local_filename); |
| 937 xfer->local_filename = g_strdup(filename); | 964 xfer->local_filename = g_strdup(filename); |
| 938 } | 965 } |
| 939 | 966 |
| 940 void | 967 void |
| 941 purple_xfer_set_size(PurpleXfer *xfer, size_t size) | 968 purple_xfer_set_size(PurpleXfer *xfer, goffset size) |
| 942 { | 969 { |
| 943 g_return_if_fail(xfer != NULL); | 970 g_return_if_fail(xfer != NULL); |
| 944 | 971 |
| 945 xfer->size = size; | 972 xfer->size = size; |
| 946 xfer->bytes_remaining = xfer->size - purple_xfer_get_bytes_sent(xfer); | 973 xfer->bytes_remaining = xfer->size - purple_xfer_get_bytes_sent(xfer); |
| 947 } | 974 } |
| 948 | 975 |
| 949 void | 976 void |
| 950 purple_xfer_set_bytes_sent(PurpleXfer *xfer, size_t bytes_sent) | 977 purple_xfer_set_local_port(PurpleXfer *xfer, unsigned int local_port) |
| 978 { | |
| 979 g_return_if_fail(xfer != NULL); | |
| 980 | |
| 981 xfer->local_port = local_port; | |
| 982 } | |
| 983 | |
| 984 void | |
| 985 purple_xfer_set_bytes_sent(PurpleXfer *xfer, goffset bytes_sent) | |
| 951 { | 986 { |
| 952 g_return_if_fail(xfer != NULL); | 987 g_return_if_fail(xfer != NULL); |
| 953 | 988 |
| 954 xfer->bytes_sent = bytes_sent; | 989 xfer->bytes_sent = bytes_sent; |
| 955 xfer->bytes_remaining = purple_xfer_get_size(xfer) - bytes_sent; | 990 xfer->bytes_remaining = purple_xfer_get_size(xfer) - bytes_sent; |
| 1402 | 1437 |
| 1403 type = purple_xfer_get_type(xfer); | 1438 type = purple_xfer_get_type(xfer); |
| 1404 | 1439 |
| 1405 purple_xfer_set_status(xfer, PURPLE_XFER_STATUS_STARTED); | 1440 purple_xfer_set_status(xfer, PURPLE_XFER_STATUS_STARTED); |
| 1406 | 1441 |
| 1407 /* | |
| 1408 * FIXME 3.0.0 -- there's too much broken code depending on fd == 0 | |
| 1409 * meaning "don't use a real fd" | |
| 1410 */ | |
| 1411 if (fd == 0) | |
| 1412 fd = -1; | |
| 1413 | |
| 1414 if (type == PURPLE_XFER_RECEIVE) { | 1442 if (type == PURPLE_XFER_RECEIVE) { |
| 1415 cond = PURPLE_INPUT_READ; | 1443 cond = PURPLE_INPUT_READ; |
| 1416 | 1444 |
| 1417 if (ip != NULL) { | 1445 if (ip != NULL) { |
| 1418 xfer->remote_ip = g_strdup(ip); | 1446 xfer->remote_ip = g_strdup(ip); |
| 1698 { | 1726 { |
| 1699 if (xfer->ui_ops->add_thumbnail) { | 1727 if (xfer->ui_ops->add_thumbnail) { |
| 1700 xfer->ui_ops->add_thumbnail(xfer, formats); | 1728 xfer->ui_ops->add_thumbnail(xfer, formats); |
| 1701 } | 1729 } |
| 1702 } | 1730 } |
| 1731 | |
| 1732 void | |
| 1733 purple_xfer_set_protocol_data(PurpleXfer *xfer, gpointer proto_data) | |
| 1734 { | |
| 1735 g_return_if_fail(xfer != NULL); | |
| 1736 | |
| 1737 xfer->proto_data = proto_data; | |
| 1738 } | |
| 1739 | |
| 1740 gpointer | |
| 1741 purple_xfer_get_protocol_data(const PurpleXfer *xfer) | |
| 1742 { | |
| 1743 g_return_val_if_fail(xfer != NULL, NULL); | |
| 1744 | |
| 1745 return xfer->proto_data; | |
| 1746 } | |
| 1747 | |
| 1748 void purple_xfer_set_ui_data(PurpleXfer *xfer, gpointer ui_data) | |
| 1749 { | |
| 1750 g_return_if_fail(xfer != NULL); | |
| 1751 | |
| 1752 xfer->ui_data = ui_data; | |
| 1753 } | |
| 1754 | |
| 1755 gpointer purple_xfer_get_ui_data(const PurpleXfer *xfer) | |
| 1756 { | |
| 1757 g_return_val_if_fail(xfer != NULL, NULL); | |
| 1758 | |
| 1759 return xfer->ui_data; | |
| 1760 } | |
| 1761 | |
| 1703 | 1762 |
| 1704 /************************************************************************** | 1763 /************************************************************************** |
| 1705 * File Transfer Subsystem API | 1764 * File Transfer Subsystem API |
| 1706 **************************************************************************/ | 1765 **************************************************************************/ |
| 1707 void * | 1766 void * |
