libgaim/plugins/tcl/tcl_gaim.h

Tue, 29 Aug 2006 02:22:08 +0000

author
Hil <allhilbert@users.sourceforge.net>
date
Tue, 29 Aug 2006 02:22:08 +0000
changeset 14432
3710852cdab5
parent 14254
77edc7a6191a
child 20470
77693555855f
child 20472
6a6d2ef151e6
permissions
-rw-r--r--

[gaim-migrate @ 17076]
SF Patch #1547720 from Hilbert
Fixes SF Bug #1541097

If you search, leave the Find dialog open, switch tabs, and search again, the search happens in the original tab. This patch fixes that bug. Now when you search, it searches in the active conversation window.

committer: Richard Laager <rlaager@pidgin.im>

6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
1 /**
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
2 * @file tcl_gaim.h Gaim Tcl definitions
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
3 *
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
4 * gaim
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
5 *
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
6 * Copyright (C) 2003 Ethan Blanton <eblanton@cs.purdue.edu>
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
7 *
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
11 * (at your option) any later version.
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
12 *
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
16 * GNU General Public License for more details.
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
17 *
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
21 */
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
22
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
23 #ifndef _GAIM_TCL_GAIM_H_
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
24 #define _GAIM_TCL_GAIM_H_
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
25
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
26 #include <tcl.h>
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
27
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
28 #include "internal.h"
13847
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
29 #include "cmds.h"
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
30 #include "plugin.h"
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
31 #include "value.h"
13812
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
32 #include "stringref.h"
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
33
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
34 struct tcl_signal_handler {
10597
41d2db9fefd5 [gaim-migrate @ 12012]
Ethan Blanton <elb@pidgin.im>
parents: 6694
diff changeset
35 Tcl_Obj *signal;
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
36 Tcl_Interp *interp;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
37
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
38 void *instance;
10597
41d2db9fefd5 [gaim-migrate @ 12012]
Ethan Blanton <elb@pidgin.im>
parents: 6694
diff changeset
39 Tcl_Obj *namespace;
41d2db9fefd5 [gaim-migrate @ 12012]
Ethan Blanton <elb@pidgin.im>
parents: 6694
diff changeset
40 /* These following two are temporary during setup */
41d2db9fefd5 [gaim-migrate @ 12012]
Ethan Blanton <elb@pidgin.im>
parents: 6694
diff changeset
41 Tcl_Obj *args;
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
42 Tcl_Obj *proc;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
43
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
44 GaimValue *returntype;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
45 int nargs;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
46 GaimValue **argtypes;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
47 };
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
48
13847
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
49 struct tcl_cmd_handler {
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
50 int id;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
51 Tcl_Obj *cmd;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
52 Tcl_Interp *interp;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
53
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
54 Tcl_Obj *namespace;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
55 /* These are temporary during setup */
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
56 const char *args;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
57 int priority;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
58 int flags;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
59 const char *prpl_id;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
60 Tcl_Obj *proc;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
61 const char *helpstr;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
62
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
63 int nargs;
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
64 };
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
65
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
66 extern GaimPlugin *_tcl_plugin;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
67
13812
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
68 /* Capitalized this way because these are "types" */
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
69 extern GaimStringref *GaimTclRefAccount;
13817
ba01c6caad7d [gaim-migrate @ 16247]
Ethan Blanton <elb@pidgin.im>
parents: 13812
diff changeset
70 extern GaimStringref *GaimTclRefConnection;
13812
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
71 extern GaimStringref *GaimTclRefConversation;
13819
8a5f27848775 [gaim-migrate @ 16249]
Ethan Blanton <elb@pidgin.im>
parents: 13817
diff changeset
72 extern GaimStringref *GaimTclRefPointer;
14008
9ee7a49bf619 [gaim-migrate @ 16486]
Ethan Blanton <elb@pidgin.im>
parents: 13847
diff changeset
73 extern GaimStringref *GaimTclRefPlugin;
13823
b17175505b38 [gaim-migrate @ 16254]
Ethan Blanton <elb@pidgin.im>
parents: 13819
diff changeset
74 extern GaimStringref *GaimTclRefPresence;
13812
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
75 extern GaimStringref *GaimTclRefStatus;
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
76 extern GaimStringref *GaimTclRefStatusAttr;
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
77 extern GaimStringref *GaimTclRefStatusType;
14008
9ee7a49bf619 [gaim-migrate @ 16486]
Ethan Blanton <elb@pidgin.im>
parents: 13847
diff changeset
78 extern GaimStringref *GaimTclRefXfer;
13812
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
79
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
80 GaimPlugin *tcl_interp_get_plugin(Tcl_Interp *interp);
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
81
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 10597
diff changeset
82 void tcl_signal_init(void);
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
83 void tcl_signal_handler_free(struct tcl_signal_handler *handler);
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
84 void tcl_signal_cleanup(Tcl_Interp *interp);
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
85 gboolean tcl_signal_connect(struct tcl_signal_handler *handler);
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
86 void tcl_signal_disconnect(void *instance, const char *signal, Tcl_Interp *interp);
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
87
13847
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
88 void tcl_cmd_init(void);
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
89 void tcl_cmd_handler_free(struct tcl_cmd_handler *handler);
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
90 void tcl_cmd_cleanup(Tcl_Interp *interp);
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
91 GaimCmdId tcl_cmd_register(struct tcl_cmd_handler *handler);
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
92 void tcl_cmd_unregister(GaimCmdId id, Tcl_Interp *interp);
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
93
13826
f2171c7feeda [gaim-migrate @ 16268]
Ethan Blanton <elb@pidgin.im>
parents: 13823
diff changeset
94 void gaim_tcl_ref_init(void);
13812
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
95 void *gaim_tcl_ref_get(Tcl_Interp *interp, Tcl_Obj *obj, GaimStringref *type);
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
96 Tcl_Obj *gaim_tcl_ref_new(GaimStringref *type, void *value);
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
97
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
98 Tcl_ObjCmdProc tcl_cmd_account;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
99 Tcl_ObjCmdProc tcl_cmd_signal_connect;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
100 Tcl_ObjCmdProc tcl_cmd_buddy;
13847
89bc33bfe294 [gaim-migrate @ 16301]
Etan Reisner <deryni@pidgin.im>
parents: 13826
diff changeset
101 Tcl_ObjCmdProc tcl_cmd_cmd;
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
102 Tcl_ObjCmdProc tcl_cmd_connection;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
103 Tcl_ObjCmdProc tcl_cmd_conversation;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
104 Tcl_ObjCmdProc tcl_cmd_core;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
105 Tcl_ObjCmdProc tcl_cmd_debug;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
106 Tcl_ObjCmdProc tcl_cmd_notify;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
107 Tcl_ObjCmdProc tcl_cmd_prefs;
13823
b17175505b38 [gaim-migrate @ 16254]
Ethan Blanton <elb@pidgin.im>
parents: 13819
diff changeset
108 Tcl_ObjCmdProc tcl_cmd_presence;
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
109 Tcl_ObjCmdProc tcl_cmd_send_im;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
110 Tcl_ObjCmdProc tcl_cmd_signal;
13812
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
111 Tcl_ObjCmdProc tcl_cmd_status;
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
112 Tcl_ObjCmdProc tcl_cmd_status_attr;
a10499942a3c [gaim-migrate @ 16240]
Ethan Blanton <elb@pidgin.im>
parents: 12323
diff changeset
113 Tcl_ObjCmdProc tcl_cmd_status_type;
6694
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
114 Tcl_ObjCmdProc tcl_cmd_unload;
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
115
2354eced08e8 [gaim-migrate @ 7220]
Ethan Blanton <elb@pidgin.im>
parents:
diff changeset
116 #endif /* _GAIM_TCL_GAIM_H_ */

mercurial