libpurple/plugins/perl/common/Smiley.xs

Thu, 30 Oct 2008 22:40:49 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Thu, 30 Oct 2008 22:40:49 +0000
changeset 24569
5dbd0617a27d
parent 23329
a3348556c57d
permissions
-rw-r--r--

Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
to detect when we're still using deprecated functions internally (and by
extension, when we've deprecated something we shouldn't have). In the
course of developing this changeset, I fixed a few such cases.

Given that the plan is to switch from PURPLE_HIDE_STRUCTS to
PURPLE_DISABLE_DEPRECATED as each struct is fully dealt with, this will
also ensure we have no regressions on the struct hiding work.

Deprecated functions are still available to the respective .c file, to
avoid missing prototype errors. Also, Perl and DBus undef the
*_DISABLE_DEPRECATED defines as appropriate so that deprecated functions
will still be exported to Perl plugins and via DBus. (Otherwise, we'd
be breaking backwards compatibility.)

#include "module.h"

MODULE = Purple::Smiley  PACKAGE = Purple::Smiley  PREFIX = purple_smiley_
PROTOTYPES: ENABLE

Purple::Smiley
purple_smiley_new(img, shortcut)
	Purple::StoredImage img
	const char * shortcut

Purple::Smiley
purple_smiley_new_from_file(shortcut, filepath)
	const char * shortcut
	const char * filepath

void
purple_smiley_delete(smiley)
	Purple::Smiley smiley

gboolean
purple_smiley_set_shortcut(smiley, shortcut)
	Purple::Smiley smiley
	const char * shortcut

void
purple_smiley_set_data(smiley, data, data_len)
	Purple::Smiley  smiley
	guchar * data
	size_t  data_len

const char *
purple_smiley_get_shortcut(smiley)
	Purple::Smiley smiley

const char *
purple_smiley_get_checksum(smiley)
	Purple::Smiley smiley

Purple::StoredImage
purple_smiley_get_stored_image(smiley)
	Purple::Smiley smiley

gconstpointer
purple_smiley_get_data(smiley, len)
	Purple::Smiley smiley
	size_t * len

const char *
purple_smiley_get_extension(smiley)
	Purple::Smiley smiley


gchar_own *
purple_smiley_get_full_path(smiley)
	Purple::Smiley smiley


MODULE = Purple::Smiley  PACKAGE = Purple::Smileys  PREFIX = purple_smileys_
PROTOTYPES: ENABLE

void
purple_smileys_get_all()
PREINIT:
    GList *l;
PPCODE:
    for (l = purple_smileys_get_all(); l != NULL; l = g_list_delete_link(l, l)) {
        XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Purple::Smiley")));
    }

Purple::Smiley
purple_smileys_find_by_shortcut(shortcut)
	const char * shortcut

Purple::Smiley
purple_smileys_find_by_checksum(checksum)
	const char * checksum

const char *
purple_smileys_get_storing_dir()

mercurial