Mercurial > pidgin
view libpurple/plugins/perl/common/FT.xs @ 29579:bddc2c8e8b98
Current versions of ICQ will happily scale down large icons to 100x100
(and in some places will scale up small icons). So we should stop
scaling-on-send. Any icon between 0x0 and 100x100 is allowed, just
like with AIM. Max file size still seems to be 7168.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 11 Mar 2010 06:58:33 +0000 |
parents | e3f30a73a793 |
children | 48bc3f9f2115 |
line wrap: on
line source
#include "module.h" MODULE = Purple::Xfer PACKAGE = Purple::Xfer PREFIX = purple_xfer_ PROTOTYPES: ENABLE BOOT: { HV *type_stash = gv_stashpv("Purple::Xfer::Type", 1); HV *status_stash = gv_stashpv("Purple::Xfer::Status", 1); static const constiv *civ, type_const_iv[] = { #define const_iv(name) {#name, (IV)PURPLE_XFER_##name} const_iv(UNKNOWN), const_iv(SEND), const_iv(RECEIVE), }; static const constiv status_const_iv[] = { #undef const_iv #define const_iv(name) {#name, (IV)PURPLE_XFER_STATUS_##name} const_iv(UNKNOWN), const_iv(NOT_STARTED), const_iv(ACCEPTED), const_iv(STARTED), const_iv(DONE), const_iv(CANCEL_LOCAL), const_iv(CANCEL_REMOTE), }; for (civ = type_const_iv + sizeof(type_const_iv) / sizeof(type_const_iv[0]); civ-- > type_const_iv; ) newCONSTSUB(type_stash, (char *)civ->name, newSViv(civ->iv)); for (civ = status_const_iv + sizeof(status_const_iv) / sizeof(status_const_iv[0]); civ-- > status_const_iv; ) newCONSTSUB(status_stash, (char *)civ->name, newSViv(civ->iv)); } Purple::Xfer purple_xfer_new(class, account, type, who) Purple::Account account Purple::XferType type const char *who C_ARGS: account, type, who void purple_xfer_add(xfer) Purple::Xfer xfer void purple_xfer_cancel_local(xfer) Purple::Xfer xfer void purple_xfer_cancel_remote(xfer) Purple::Xfer xfer void purple_xfer_end(xfer) Purple::Xfer xfer void purple_xfer_error(type, account, who, msg) Purple::XferType type Purple::Account account const char *who const char *msg Purple::Account purple_xfer_get_account(xfer) Purple::Xfer xfer size_t purple_xfer_get_bytes_remaining(xfer) Purple::Xfer xfer size_t purple_xfer_get_bytes_sent(xfer) Purple::Xfer xfer const char * purple_xfer_get_filename(xfer) Purple::Xfer xfer const char * purple_xfer_get_local_filename(xfer) Purple::Xfer xfer unsigned int purple_xfer_get_local_port(xfer) Purple::Xfer xfer double purple_xfer_get_progress(xfer) Purple::Xfer xfer const char * purple_xfer_get_remote_ip(xfer) Purple::Xfer xfer unsigned int purple_xfer_get_remote_port(xfer) Purple::Xfer xfer size_t purple_xfer_get_size(xfer) Purple::Xfer xfer Purple::XferStatusType purple_xfer_get_status(xfer) Purple::Xfer xfer Purple::XferType purple_xfer_get_type(xfer) Purple::Xfer xfer gboolean purple_xfer_is_canceled(xfer) Purple::Xfer xfer gboolean purple_xfer_is_completed(xfer) Purple::Xfer xfer ssize_t purple_xfer_read(xfer, buffer) Purple::Xfer xfer guchar **buffer void purple_xfer_ref(xfer) Purple::Xfer xfer void purple_xfer_request(xfer) Purple::Xfer xfer void purple_xfer_request_accepted(xfer, filename) Purple::Xfer xfer const char *filename void purple_xfer_request_denied(xfer) Purple::Xfer xfer void purple_xfer_set_completed(xfer, completed) Purple::Xfer xfer gboolean completed void purple_xfer_set_filename(xfer, filename) Purple::Xfer xfer const char *filename void purple_xfer_set_local_filename(xfer, filename) Purple::Xfer xfer const char *filename void purple_xfer_set_message(xfer, message) Purple::Xfer xfer const char *message void purple_xfer_set_size(xfer, size) Purple::Xfer xfer size_t size void purple_xfer_unref(xfer) Purple::Xfer xfer void purple_xfer_update_progress(xfer) Purple::Xfer xfer ssize_t purple_xfer_write(xfer, buffer, size) Purple::Xfer xfer const guchar *buffer size_t size MODULE = Purple::Xfer PACKAGE = Purple::Xfers PREFIX = purple_xfers_ PROTOTYPES: ENABLE