view libpurple/plugins/perl/common/Prefs.xs @ 21041:094bbbe89d0d

Track the actual visibility for the buddy list (unobscured, partially and fully obscured). This maintains the behavior from the previous commit (raising partially obscured buddy list instead of hiding), but also maintains refreshing of the buddy list when partially obscured which the previous commit broke.
author Casey Harkins <charkins@pidgin.im>
date Sun, 28 Oct 2007 18:13:50 +0000
parents ee58212687bb
children 4dc66862203f
line wrap: on
line source

#include "module.h"

MODULE = Purple::Prefs  PACKAGE = Purple::Prefs  PREFIX = purple_prefs_
PROTOTYPES: ENABLE

BOOT:
{
	HV *stash = gv_stashpv("Purple::Pref::Type", 1);

	static const constiv *civ, const_iv[] = {
#define const_iv(name) {#name, (IV)PURPLE_PREF_##name}
		const_iv(NONE),
		const_iv(BOOLEAN),
		const_iv(INT),
		const_iv(STRING),
		const_iv(STRING_LIST),
		const_iv(PATH),
		const_iv(PATH_LIST),
	};

	for (civ = const_iv + sizeof(const_iv) / sizeof(const_iv[0]); civ-- > const_iv; )
		newCONSTSUB(stash, (char *)civ->name, newSViv(civ->iv));
}

void
purple_prefs_add_bool(name, value)
	const char *name
	gboolean value

void
purple_prefs_add_int(name, value)
	const char *name
	int value

void
purple_prefs_add_none(name)
	const char *name

void
purple_prefs_add_string(name, value)
	const char *name
	const char *value

void
purple_prefs_add_string_list(name, value)
	const char *name
	SV *value
PREINIT:
	GList *t_GL;
	int i, t_len;
PPCODE:
	t_GL = NULL;
	t_len = av_len((AV *)SvRV(value));

	for (i = 0; i < t_len; i++) {
		STRLEN t_sl;
		t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(value), i, 0), t_sl));
	}
	purple_prefs_add_string_list(name, t_GL);

void
purple_prefs_destroy()

void
purple_prefs_disconnect_by_handle(handle)
	void * handle

void
purple_prefs_disconnect_callback(callback_id)
	guint callback_id

gboolean
purple_prefs_exists(name)
	const char *name

gboolean
purple_prefs_get_bool(name)
	const char *name

Purple::Handle
purple_prefs_get_handle()

int
purple_prefs_get_int(name)
	const char *name

const char *
purple_prefs_get_string(name)
	const char *name

void
purple_prefs_get_string_list(name)
	const char *name
PREINIT:
	GList *l;
PPCODE:
	for (l = purple_prefs_get_string_list(name); l != NULL; l = g_list_delete_link(l, l)) {
		XPUSHs(sv_2mortal(newSVpv(l->data, 0)));
		g_free(l->data);
	}

Purple::PrefType
purple_prefs_get_type(name)
	const char *name

void
purple_prefs_init()

gboolean
purple_prefs_load()

void
purple_prefs_remove(name)
	const char *name

void
purple_prefs_rename(oldname, newname)
	const char *oldname
	const char *newname

void
purple_prefs_rename_boolean_toggle(oldname, newname)
	const char *oldname
	const char *newname

void
purple_prefs_set_bool(name, value)
	const char *name
	gboolean value

void
purple_prefs_set_generic(name, value)
	const char *name
	gpointer value

void
purple_prefs_set_int(name, value)
	const char *name
	int value

void
purple_prefs_set_string(name, value)
	const char *name
	const char *value

void
purple_prefs_set_string_list(name, value)
	const char *name
	SV *value
PREINIT:
	GList *t_GL;
	int i, t_len;
PPCODE:
	t_GL = NULL;
	t_len = av_len((AV *)SvRV(value));

	for (i = 0; i < t_len; i++) {
		STRLEN t_sl;
		t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(value), i, 0), t_sl));
	}
	purple_prefs_set_string_list(name, t_GL);

void
purple_prefs_trigger_callback(name)
	const char *name

void
purple_prefs_uninit()

void
purple_prefs_update_old()