view src/protocols/msn/table.h @ 10294:6484242e4e30

[gaim-migrate @ 11473] "This patch just fixes up some stuff in the choice request stuff.. Basically, if there's more than 5 items which makes it display as an option/dropdown menu, the menu wasn't being shown and the default was never getting set. The reason it's so bulky it's to avoid the option menu growing when the menu is displayed." --Gary Kramlich committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Thu, 02 Dec 2004 12:58:25 +0000
parents ecf3ce2e2ab1
children 2e01c503aa4f
line wrap: on
line source

/**
 * @file table.h MSN helper structure
 *
 * gaim
 *
 * Gaim is the legal property of its developers, whose names are too numerous
 * to list here.  Please refer to the COPYRIGHT file distributed with this
 * source distribution.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
#ifndef _MSN_TABLE_H_
#define _MSN_TABLE_H_

typedef struct _MsnTable MsnTable;

#include "cmdproc.h"
#include "transaction.h"
#include "msg.h"

typedef void (*MsnMsgCb)(MsnCmdProc *cmdproc, MsnMessage *msg);

struct _MsnTable
{
	GHashTable *cmds;
	GHashTable *msgs;
	GHashTable *errors;

	GHashTable *async;
	GHashTable *fallback;
};

MsnTable *msn_table_new();
void msn_table_destroy(MsnTable *table);

void msn_table_add_cmd(MsnTable *table, char *command, char *answer,
					   MsnTransCb cb);
void msn_table_add_error(MsnTable *table, char *answer, MsnErrorCb cb);
void msn_table_add_msg_type(MsnTable *table, char *type, MsnMsgCb cb);

#endif /* _MSN_TABLE_H_ */