Frameworks/libpurple.framework/Versions/0.6.2/Headers/command.h
author Zachary West <zacw@adium.im>
Fri Aug 21 13:25:11 2009 -0700 (2009-08-21)
changeset 2592 e8d15275025e
parent 1739 Frameworks/libpurple.framework/Versions/0.6.0/Headers/command.h@8b0daad9656c
permissions -rw-r--r--
im.pidgin.adium.1-4 at 267c6165e02e34318a1823960bd04c0639952f73
     1 /**
     2  * @file command.h MSN command functions
     3  *
     4  * purple
     5  *
     6  * Purple is the legal property of its developers, whose names are too numerous
     7  * to list here.  Please refer to the COPYRIGHT file distributed with this
     8  * source distribution.
     9  *
    10  * This program is free software; you can redistribute it and/or modify
    11  * it under the terms of the GNU General Public License as published by
    12  * the Free Software Foundation; either version 2 of the License, or
    13  * (at your option) any later version.
    14  *
    15  * This program is distributed in the hope that it will be useful,
    16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    18  * GNU General Public License for more details.
    19  *
    20  * You should have received a copy of the GNU General Public License
    21  * along with this program; if not, write to the Free Software
    22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
    23  */
    24 #ifndef _MSN_COMMAND_H
    25 #define _MSN_COMMAND_H
    26 
    27 typedef struct _MsnCommand MsnCommand;
    28 
    29 #include "cmdproc.h"
    30 #include "transaction.h"
    31 
    32 typedef void (*MsnPayloadCb)(MsnCmdProc *cmdproc, MsnCommand *cmd,
    33 							 char *payload, size_t len);
    34 
    35 /**
    36  * A received command.
    37  */
    38 struct _MsnCommand
    39 {
    40 	unsigned int trId;
    41 
    42 	char *command;
    43 	char **params;
    44 	int param_count;
    45 
    46 	int ref_count;
    47 
    48 	MsnTransaction *trans;
    49 
    50 	char *payload;
    51 	size_t payload_len;
    52 
    53 	MsnPayloadCb payload_cb;
    54 	void *payload_cbdata;
    55 };
    56 
    57 MsnCommand *msn_command_from_string(const char *string);
    58 void msn_command_destroy(MsnCommand *cmd);
    59 MsnCommand *msn_command_ref(MsnCommand *cmd);
    60 MsnCommand *msn_command_unref(MsnCommand *cmd);
    61 
    62 #endif /* _MSN_COMMAND_H */