view libpurple/plugins/perl/common/FT.xs @ 30029:bab8917b8b5c

merge of '60a434545c6f61fc0f20206c0d4eb87a9fb8de11' and 'fe69dfeac6d98c4a6864e937ab3d45f614d43dad'
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 21 Mar 2010 20:40:17 +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