cmds.h

Go to the documentation of this file.
00001 
00022 #ifndef _GAIM_CMDS_H_
00023 #define _GAIM_CMDS_H_
00024 
00025 #include "conversation.h"
00026 
00027 /**************************************************************************
00028  * @name Structures
00029  **************************************************************************/
00032 typedef enum _GaimCmdPriority GaimCmdPriority;
00033 typedef enum _GaimCmdFlag     GaimCmdFlag;
00034 typedef enum _GaimCmdStatus   GaimCmdStatus;
00035 typedef enum _GaimCmdRet      GaimCmdRet;
00036 
00037 enum _GaimCmdStatus {
00038     GAIM_CMD_STATUS_OK,
00039     GAIM_CMD_STATUS_FAILED,
00040     GAIM_CMD_STATUS_NOT_FOUND,
00041     GAIM_CMD_STATUS_WRONG_ARGS,
00042     GAIM_CMD_STATUS_WRONG_PRPL,
00043     GAIM_CMD_STATUS_WRONG_TYPE,
00044 };
00045 
00046 enum _GaimCmdRet {
00047     GAIM_CMD_RET_OK,       
00048     GAIM_CMD_RET_FAILED,   
00049     GAIM_CMD_RET_CONTINUE, 
00050 };
00051 
00052 #define GAIM_CMD_FUNC(func) ((GaimCmdFunc)func)
00053 
00054 typedef GaimCmdRet (*GaimCmdFunc)(GaimConversation *, const gchar *cmd,
00055                                   gchar **args, gchar **error, void *data);
00056 typedef guint GaimCmdId;
00057 
00058 enum _GaimCmdPriority {
00059     GAIM_CMD_P_VERY_LOW = -1000,
00060     GAIM_CMD_P_LOW      =     0,
00061     GAIM_CMD_P_DEFAULT  =  1000,
00062     GAIM_CMD_P_PRPL     =  2000,
00063     GAIM_CMD_P_PLUGIN   =  3000,
00064     GAIM_CMD_P_ALIAS    =  4000,
00065     GAIM_CMD_P_HIGH     =  5000,
00066     GAIM_CMD_P_VERYHIGH =  6000,
00067 };
00068 
00069 enum _GaimCmdFlag {
00070     GAIM_CMD_FLAG_IM               = 0x01,
00071     GAIM_CMD_FLAG_CHAT             = 0x02,
00072     GAIM_CMD_FLAG_PRPL_ONLY         = 0x04,
00073     GAIM_CMD_FLAG_ALLOW_WRONG_ARGS = 0x08,
00074 };
00075 
00076 
00079 #ifdef __cplusplus
00080 extern "C" {
00081 #endif
00082 
00083 /**************************************************************************
00084  * @name Commands API
00085  **************************************************************************/
00125 GaimCmdId gaim_cmd_register(const gchar *cmd, const gchar *args, GaimCmdPriority p, GaimCmdFlag f,
00126                              const gchar *prpl_id, GaimCmdFunc func, const gchar *helpstr, void *data);
00127 
00137 void gaim_cmd_unregister(GaimCmdId id);
00138 
00157 GaimCmdStatus gaim_cmd_do_command(GaimConversation *conv, const gchar *cmdline,
00158                                   const gchar *markup, gchar **errormsg);
00159 
00171 GList *gaim_cmd_list(GaimConversation *conv);
00172 
00185 GList *gaim_cmd_help(GaimConversation *conv, const gchar *cmd);
00186 
00189 #ifdef __cplusplus
00190 }
00191 #endif
00192 
00193 #endif /* _GAIM_CMDS_H_ */

Generated on Wed Aug 9 23:40:23 2006 for gaim by  doxygen 1.4.7