diff libpurple/plugins/perl/common/AccountOpts.xs @ 15373:5fe8042783c1

Rename gtk/ and libgaim/ to pidgin/ and libpurple/
author Sean Egan <seanegan@gmail.com>
date Sat, 20 Jan 2007 02:32:10 +0000
parents
children 2f8274ce570a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libpurple/plugins/perl/common/AccountOpts.xs	Sat Jan 20 02:32:10 2007 +0000
@@ -0,0 +1,168 @@
+#include "module.h"
+
+MODULE = Gaim::Account::Option  PACKAGE = Gaim::Account::Option  PREFIX = gaim_account_option_
+PROTOTYPES: ENABLE
+
+void
+gaim_account_option_destroy(option)
+	Gaim::Account::Option option
+
+const char *
+gaim_account_option_get_default_string(option)
+	Gaim::Account::Option option
+
+void
+gaim_account_option_add_list_item(option, key, value)
+	Gaim::Account::Option option
+	const char * key
+	const char * value
+
+void
+gaim_account_option_set_default_string(option, value);
+	Gaim::Account::Option option
+	const char * value
+
+void
+gaim_account_option_set_default_int(option, value);
+	Gaim::Account::Option option
+	int value
+
+void
+gaim_account_option_set_default_bool(option, value);
+	Gaim::Account::Option option
+	gboolean value
+
+Gaim::Account::Option
+gaim_account_option_list_new(class, text, pref_name, values)
+	const char * text
+	const char * pref_name
+	SV * values
+PREINIT:
+	GList *t_GL;
+	int i, t_len;
+CODE:
+	t_GL = NULL;
+	t_len = av_len((AV *)SvRV(values));
+
+	for (i = 0; i < t_len; i++) {
+		STRLEN t_sl;
+		t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(values), i, 0), t_sl));
+	}
+	RETVAL  = gaim_account_option_list_new(text, pref_name, t_GL);
+OUTPUT:
+	RETVAL
+
+Gaim::Account::Option
+gaim_account_option_string_new(class, text, pref_name, default_value)
+	const char * text
+	const char * pref_name
+	const char * default_value
+    C_ARGS:
+	text, pref_name, default_value
+
+Gaim::Account::Option
+gaim_account_option_int_new(class, text, pref_name, default_value)
+	const char * text
+	const char * pref_name
+	gboolean default_value
+    C_ARGS:
+	text, pref_name, default_value
+
+Gaim::Account::Option
+gaim_account_option_bool_new(class, text, pref_name, default_value)
+	const char * text
+	const char * pref_name
+	gboolean default_value
+    C_ARGS:
+	text, pref_name, default_value
+
+Gaim::Account::Option
+gaim_account_option_new(class, type, text, pref_name)
+	Gaim::PrefType type
+	const char * text
+	const char * pref_name
+    C_ARGS:
+	type, text, pref_name
+
+void
+gaim_account_option_get_list(option)
+	Gaim::Account::Option option
+PREINIT:
+	const GList *l;
+PPCODE:
+	for (l = gaim_account_option_get_list(option); l != NULL; l = l->next) {
+		/* XXX These are actually GaimKeyValuePairs but we don't have a
+		 * type for that and even if we did I don't think there's
+		 * anything perl could do with them, so I'm just going to
+		 * leave this as a Gaim::ListEntry for now. */
+		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ListEntry")));
+	}
+
+Gaim::PrefType
+gaim_account_option_get_type(option)
+	Gaim::Account::Option option
+
+gboolean
+gaim_account_option_get_masked(option)
+	Gaim::Account::Option option
+
+int
+gaim_account_option_get_default_int(option)
+	Gaim::Account::Option option;
+
+gboolean
+gaim_account_option_get_default_bool(option)
+	Gaim::Account::Option option;
+
+const char *
+gaim_account_option_get_setting(option)
+	Gaim::Account::Option option
+
+const char *
+gaim_account_option_get_text(option)
+	Gaim::Account::Option option
+
+void
+gaim_account_option_set_list(option, values)
+	Gaim::Account::Option option
+	SV * values
+PREINIT:
+	GList *t_GL;
+	int i, t_len;
+PPCODE:
+	t_GL = NULL;
+	t_len = av_len((AV *)SvRV(values));
+
+	for (i = 0; i < t_len; i++) {
+		STRLEN t_sl;
+		t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(values), i, 0), t_sl));
+	}
+	gaim_account_option_set_list(option, t_GL);
+
+void
+gaim_account_option_set_masked(option, masked)
+	Gaim::Account::Option option
+	gboolean masked
+
+MODULE = Gaim::Account::Option  PACKAGE = Gaim::Account::UserSplit  PREFIX = gaim_account_user_split_
+PROTOTYPES: ENABLE
+
+Gaim::Account::UserSplit
+gaim_account_user_split_new(class, text, default_value, sep)
+	const char * text
+	const char * default_value
+	char sep
+    C_ARGS:
+	text, default_value, sep
+
+char
+gaim_account_user_split_get_separator(split)
+	Gaim::Account::UserSplit split
+
+const char *
+gaim_account_user_split_get_text(split)
+	Gaim::Account::UserSplit split
+
+void
+gaim_account_user_split_destroy(split)
+	Gaim::Account::UserSplit split