Mercurial > pidgin
annotate plugins/tcl/tcl_gaim.h @ 19835:d99e36279d41
[gaim-migrate @ 17181]
add PSM in tooltips
fix oim bug in windows
committed by MaYuan<mayuan2006@gmail.com>
committer: Ethan Blanton <elb@pidgin.im>
author | Ma Yuan <mayuan2006@gmail.com> |
---|---|
date | Wed, 06 Sep 2006 16:14:22 +0000 |
parents | d0ff520f87da |
children | 4d577b63299a |
rev | line source |
---|---|
6694 | 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" | |
13845
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
29 #include "cmds.h" |
6694 | 30 #include "plugin.h" |
31 #include "value.h" | |
13810 | 32 #include "stringref.h" |
6694 | 33 |
34 struct tcl_signal_handler { | |
10597 | 35 Tcl_Obj *signal; |
6694 | 36 Tcl_Interp *interp; |
37 | |
38 void *instance; | |
10597 | 39 Tcl_Obj *namespace; |
40 /* These following two are temporary during setup */ | |
41 Tcl_Obj *args; | |
6694 | 42 Tcl_Obj *proc; |
43 | |
44 GaimValue *returntype; | |
45 int nargs; | |
46 GaimValue **argtypes; | |
47 }; | |
48 | |
13845
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
49 struct tcl_cmd_handler { |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
50 int id; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
51 Tcl_Obj *cmd; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
52 Tcl_Interp *interp; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
53 |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
54 Tcl_Obj *namespace; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
55 /* These are temporary during setup */ |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
56 const char *args; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
57 int priority; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
58 int flags; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
59 const char *prpl_id; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
60 Tcl_Obj *proc; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
61 const char *helpstr; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
62 |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
63 int nargs; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
64 }; |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
65 |
6694 | 66 extern GaimPlugin *_tcl_plugin; |
67 | |
13810 | 68 /* Capitalized this way because these are "types" */ |
69 extern GaimStringref *GaimTclRefAccount; | |
13815 | 70 extern GaimStringref *GaimTclRefConnection; |
13810 | 71 extern GaimStringref *GaimTclRefConversation; |
13817 | 72 extern GaimStringref *GaimTclRefPointer; |
13821 | 73 extern GaimStringref *GaimTclRefPresence; |
13810 | 74 extern GaimStringref *GaimTclRefStatus; |
75 extern GaimStringref *GaimTclRefStatusAttr; | |
76 extern GaimStringref *GaimTclRefStatusType; | |
77 | |
6694 | 78 GaimPlugin *tcl_interp_get_plugin(Tcl_Interp *interp); |
79 | |
12323
fc464a0abccc
[gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents:
10597
diff
changeset
|
80 void tcl_signal_init(void); |
6694 | 81 void tcl_signal_handler_free(struct tcl_signal_handler *handler); |
82 void tcl_signal_cleanup(Tcl_Interp *interp); | |
83 gboolean tcl_signal_connect(struct tcl_signal_handler *handler); | |
84 void tcl_signal_disconnect(void *instance, const char *signal, Tcl_Interp *interp); | |
85 | |
13845
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
86 void tcl_cmd_init(void); |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
87 void tcl_cmd_handler_free(struct tcl_cmd_handler *handler); |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
88 void tcl_cmd_cleanup(Tcl_Interp *interp); |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
89 GaimCmdId tcl_cmd_register(struct tcl_cmd_handler *handler); |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
90 void tcl_cmd_unregister(GaimCmdId id, Tcl_Interp *interp); |
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
91 |
13824 | 92 void gaim_tcl_ref_init(void); |
13810 | 93 void *gaim_tcl_ref_get(Tcl_Interp *interp, Tcl_Obj *obj, GaimStringref *type); |
94 Tcl_Obj *gaim_tcl_ref_new(GaimStringref *type, void *value); | |
95 | |
6694 | 96 Tcl_ObjCmdProc tcl_cmd_account; |
97 Tcl_ObjCmdProc tcl_cmd_signal_connect; | |
98 Tcl_ObjCmdProc tcl_cmd_buddy; | |
13845
d0ff520f87da
[gaim-migrate @ 16301]
Etan Reisner <pidgin@unreliablesource.net>
parents:
13824
diff
changeset
|
99 Tcl_ObjCmdProc tcl_cmd_cmd; |
6694 | 100 Tcl_ObjCmdProc tcl_cmd_connection; |
101 Tcl_ObjCmdProc tcl_cmd_conversation; | |
102 Tcl_ObjCmdProc tcl_cmd_core; | |
103 Tcl_ObjCmdProc tcl_cmd_debug; | |
104 Tcl_ObjCmdProc tcl_cmd_notify; | |
105 Tcl_ObjCmdProc tcl_cmd_prefs; | |
13821 | 106 Tcl_ObjCmdProc tcl_cmd_presence; |
6694 | 107 Tcl_ObjCmdProc tcl_cmd_send_im; |
108 Tcl_ObjCmdProc tcl_cmd_signal; | |
13810 | 109 Tcl_ObjCmdProc tcl_cmd_status; |
110 Tcl_ObjCmdProc tcl_cmd_status_attr; | |
111 Tcl_ObjCmdProc tcl_cmd_status_type; | |
6694 | 112 Tcl_ObjCmdProc tcl_cmd_unload; |
113 | |
114 #endif /* _GAIM_TCL_GAIM_H_ */ |