| 1 /** |
|
| 2 * @file tcl_gaim.h Gaim Tcl definitions |
|
| 3 * |
|
| 4 * gaim |
|
| 5 * |
|
| 6 * Copyright (C) 2003 Ethan Blanton <eblanton@cs.purdue.edu> |
|
| 7 * |
|
| 8 * This program is free software; you can redistribute it and/or modify |
|
| 9 * it under the terms of the GNU General Public License as published by |
|
| 10 * the Free Software Foundation; either version 2 of the License, or |
|
| 11 * (at your option) any later version. |
|
| 12 * |
|
| 13 * This program is distributed in the hope that it will be useful, |
|
| 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
| 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
| 16 * GNU General Public License for more details. |
|
| 17 * |
|
| 18 * You should have received a copy of the GNU General Public License |
|
| 19 * along with this program; if not, write to the Free Software |
|
| 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
| 21 */ |
|
| 22 |
|
| 23 #ifndef _GAIM_TCL_GAIM_H_ |
|
| 24 #define _GAIM_TCL_GAIM_H_ |
|
| 25 |
|
| 26 #include <tcl.h> |
|
| 27 |
|
| 28 #include "internal.h" |
|
| 29 #include "plugin.h" |
|
| 30 #include "value.h" |
|
| 31 |
|
| 32 struct tcl_signal_handler { |
|
| 33 Tcl_Obj *signal; |
|
| 34 Tcl_Interp *interp; |
|
| 35 |
|
| 36 void *instance; |
|
| 37 Tcl_Obj *namespace; |
|
| 38 /* These following two are temporary during setup */ |
|
| 39 Tcl_Obj *args; |
|
| 40 Tcl_Obj *proc; |
|
| 41 |
|
| 42 GaimValue *returntype; |
|
| 43 int nargs; |
|
| 44 GaimValue **argtypes; |
|
| 45 }; |
|
| 46 |
|
| 47 extern GaimPlugin *_tcl_plugin; |
|
| 48 |
|
| 49 GaimPlugin *tcl_interp_get_plugin(Tcl_Interp *interp); |
|
| 50 |
|
| 51 void tcl_signal_init(void); |
|
| 52 void tcl_signal_handler_free(struct tcl_signal_handler *handler); |
|
| 53 void tcl_signal_cleanup(Tcl_Interp *interp); |
|
| 54 gboolean tcl_signal_connect(struct tcl_signal_handler *handler); |
|
| 55 void tcl_signal_disconnect(void *instance, const char *signal, Tcl_Interp *interp); |
|
| 56 |
|
| 57 Tcl_ObjCmdProc tcl_cmd_account; |
|
| 58 Tcl_ObjCmdProc tcl_cmd_signal_connect; |
|
| 59 Tcl_ObjCmdProc tcl_cmd_buddy; |
|
| 60 Tcl_ObjCmdProc tcl_cmd_connection; |
|
| 61 Tcl_ObjCmdProc tcl_cmd_conversation; |
|
| 62 Tcl_ObjCmdProc tcl_cmd_core; |
|
| 63 Tcl_ObjCmdProc tcl_cmd_debug; |
|
| 64 Tcl_ObjCmdProc tcl_cmd_notify; |
|
| 65 Tcl_ObjCmdProc tcl_cmd_prefs; |
|
| 66 Tcl_ObjCmdProc tcl_cmd_send_im; |
|
| 67 Tcl_ObjCmdProc tcl_cmd_signal; |
|
| 68 Tcl_ObjCmdProc tcl_cmd_unload; |
|
| 69 |
|
| 70 #endif /* _GAIM_TCL_GAIM_H_ */ |
|