plugins/perl/common/Conversation_Chat.xs

Sun, 27 Feb 2005 08:35:11 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Sun, 27 Feb 2005 08:35:11 +0000
changeset 10643
70f67d7c84c4
parent 7120
83dba78f8518
permissions
-rw-r--r--

[gaim-migrate @ 12153]
GtkGaimStatusBox, a new status selection widget.

It currently sucks. Pretty much just the UI code with enough copy/paste
code hacked in from gtkstatusselector to minimally work.

Minimally work provided you're only using protocol which have already been
updated to handle offline/online as statuses. Which I think is limited to
AIM and Yahoo! right now. Anyway, it's cool.

#include "module.h"

MODULE = Gaim::Conversation::Chat  PACKAGE = Gaim::Conversation::Chat  PREFIX = gaim_conv_chat_
PROTOTYPES: ENABLE

Gaim::Conversation::Chat
new(account, name)
	Gaim::Account account
	const char *name
CODE:
	RETVAL = GAIM_CONV_CHAT(gaim_conversation_new(GAIM_CONV_CHAT, account, name));
OUTPUT:
	RETVAL

void
DESTROY(chat)
	Gaim::Conversation::Chat chat
CODE:
	gaim_conversation_destroy(gaim_conv_chat_get_conversation(chat));


Gaim::Conversation
gaim_conv_chat_get_conversation(chat)
	Gaim::Conversation::Chat chat

void
users(chat)
	Gaim::Conversation::Chat chat
PREINIT:
	GList *l;
PPCODE:
	for (l = gaim_conv_chat_get_users(chat); l != NULL; l = l->next)
	{
		XPUSHs(sv_2mortal(newSVpv(l->data, 0)));
	}

void
gaim_conv_chat_ignore(chat, name)
	Gaim::Conversation::Chat chat
	const char *name

void
gaim_conv_chat_unignore(chat, name)
	Gaim::Conversation::Chat chat
	const char *name

void
ignored_users(chat)
	Gaim::Conversation::Chat chat
PREINIT:
	GList *l;
PPCODE:
	for (l = gaim_conv_chat_get_ignored(chat); l != NULL; l = l->next)
	{
		XPUSHs(sv_2mortal(newSVpv(l->data, 0)));
	}

gboolean
gaim_conv_chat_is_user_ignored(chat, user)
	Gaim::Conversation::Chat chat
	const char *user

void
gaim_conv_chat_set_topic(chat, who, topic)
	Gaim::Conversation::Chat chat
	const char *who
	const char *topic

const char *
gaim_conv_chat_get_topic(chat)
	Gaim::Conversation::Chat chat

int
gaim_conv_chat_get_id(chat)
	Gaim::Conversation::Chat chat

void
write(chat, who, message, flags)
	Gaim::Conversation::Chat chat
	const char *who
	const char *message
	int flags
CODE:
	gaim_conv_chat_write(chat, who, message, flags, time(NULL));

void
gaim_conv_chat_send(chat, message)
	Gaim::Conversation::Chat chat
	const char *message


MODULE = Gaim::Conversation::Chat  PACKAGE = Gaim  PREFIX = gaim_
PROTOTYPES: ENABLE

void
chats()
PREINIT:
	GList *l;
PPCODE:
	for (l = gaim_get_chats(); l != NULL; l = l->next)
	{
		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data,
			"Gaim::Conversation")));
	}

mercurial