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 *