view src/protocols/msn/command.h @ 13014:5efbb0162f86

[gaim-migrate @ 15367] I don't expect any of this to be controversial. * Some comment and other small changes. * Changed gtkconn.c to store the list of errored accounts in a hash table instead of a glist * Added init and uninit functions to gtkconn.c. They're used to create and destroy the two hash tables used within that file. * Also use the new init and uninit functions to connect to the account deleted signal so that we clear out the old error message if we delete an account that had an error while connecting. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 23 Jan 2006 06:54:29 +0000
parents b3d334f60732
children
line wrap: on
line source

/**
 * @file command.h MSN command functions
 *
 * 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_COMMAND_H
#define _MSN_COMMAND_H

typedef struct _MsnCommand MsnCommand;

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

typedef void (*MsnPayloadCb)(MsnCmdProc *cmdproc, MsnCommand *cmd,
							 char *payload, size_t len);

/**
 * A received command.
 */
struct _MsnCommand
{
	unsigned int trId;

	char *command;
	char **params;
	int param_count;

	int ref_count;

	MsnTransaction *trans;

	char *payload;
	size_t payload_len;

	MsnPayloadCb payload_cb;
};

MsnCommand *msn_command_from_string(const char *string);
void msn_command_destroy(MsnCommand *cmd);
MsnCommand *msn_command_ref(MsnCommand *cmd);
MsnCommand *msn_command_unref(MsnCommand *cmd);

#endif /* _MSN_COMMAND_H */