view libpurple/plugins/perl/common/Prpl.xs @ 29612:8f442c566ff2

jabber: Adjust amount of data to send in IBB packets so that at most block-size bytes of BASE64-encoded data is sent, based on discussion on the standars@j.o list. Keep accepting receiving packets containing up to block-size bytes of decoded data to stay compatible with previous version, and other clients who made that assuption.
author Marcus Lundblad <ml@update.uu.se>
date Thu, 18 Mar 2010 21:19:44 +0000
parents 1e5b69e67677
children
line wrap: on
line source

#include "module.h"

MODULE = Purple::Prpl  PACKAGE = Purple::Find  PREFIX = purple_find_
PROTOTYPES: ENABLE

Purple::Plugin
purple_find_prpl(id)
	const char *id

MODULE = Purple::Prpl  PACKAGE = Purple::Prpl  PREFIX = purple_prpl_
PROTOTYPES: ENABLE

void
purple_prpl_change_account_status(account, old_status, new_status)
	Purple::Account account
	Purple::Status old_status
	Purple::Status new_status

void
purple_prpl_get_statuses(account, presence)
	Purple::Account account
	Purple::Presence presence
PREINIT:
	GList *l, *ll;
PPCODE:
	ll = purple_prpl_get_statuses(account,presence);
	for (l = ll; l != NULL; l = l->next) {
		XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Status")));
	}
	/* We can free the list here but the script needs to free the
	 * Purple::Status 'objects' itself. */
	g_list_free(ll);

void
purple_prpl_got_account_idle(account, idle, idle_time)
	Purple::Account account
	gboolean idle
	time_t idle_time

void
purple_prpl_got_account_login_time(account, login_time)
	Purple::Account account
	time_t login_time

void
purple_prpl_got_user_idle(account, name, idle, idle_time)
	Purple::Account account
	const char *name
	gboolean idle
	time_t idle_time

void
purple_prpl_got_user_login_time(account, name, login_time)
	Purple::Account account
	const char *name
	time_t login_time

int
purple_prpl_send_raw(gc, str)
	Purple::Connection gc
	const char *str
PREINIT:
	PurplePluginProtocolInfo *prpl_info;
CODE:
	if (!gc)
		RETVAL = 0;
	else {
		prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl);
		if (prpl_info && prpl_info->send_raw != NULL) {
			RETVAL = prpl_info->send_raw(gc, str, strlen(str));
		} else {
			RETVAL = 0;
		}
	}
OUTPUT:
	RETVAL