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 * |