Mercurial > pidgin.yaz
annotate plugins/perl/perl-handlers.h @ 12944:07eaae27e674
[gaim-migrate @ 15297]
I hate seeing Jabber statuses (from Adium, IIRC) that say: "Away: Away"
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Thu, 19 Jan 2006 07:06:19 +0000 |
parents | e1603fd610fa |
children | b457aa723bab |
rev | line source |
---|---|
6520 | 1 #ifndef _GAIM_PERL_HANDLERS_H_ |
2 #define _GAIM_PERL_HANDLERS_H_ | |
3 | |
12882
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
4 #include "cmds.h" |
6520 | 5 #include "plugin.h" |
11123 | 6 #include "prefs.h" |
7 #include "pluginpref.h" | |
11170 | 8 #include "gtkplugin.h" |
9 #include "gtkutils.h" | |
10 | |
12882
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
11 /* TODO: Find a better way to access the perl names from the plugin prober */ |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
12 /* and store them for gaim_perl_plugin_action_* functions. */ |
11170 | 13 char * gaim_perl_plugin_action_callback_sub; |
14 char * gaim_perl_plugin_action_label; | |
6520 | 15 |
16 typedef struct | |
17 { | |
12882
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
18 GaimCmdId id; |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
19 SV *callback; |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
20 SV *data; |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
21 char *prpl_id; |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
22 char *cmd; |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
23 GaimPlugin *plugin; |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
24 } GaimPerlCmdHandler; |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
25 |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
26 typedef struct |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
27 { |
6568
33486b749aa9
[gaim-migrate @ 7090]
Christian Hammond <chipx86@chipx86.com>
parents:
6567
diff
changeset
|
28 SV *callback; |
33486b749aa9
[gaim-migrate @ 7090]
Christian Hammond <chipx86@chipx86.com>
parents:
6567
diff
changeset
|
29 SV *data; |
6520 | 30 GaimPlugin *plugin; |
31 int iotag; | |
32 | |
33 } GaimPerlTimeoutHandler; | |
34 | |
6549
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
35 typedef struct |
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
36 { |
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
37 char *signal; |
6567
6e25e1e08ffb
[gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents:
6550
diff
changeset
|
38 SV *callback; |
6e25e1e08ffb
[gaim-migrate @ 7089]
Christian Hammond <chipx86@chipx86.com>
parents:
6550
diff
changeset
|
39 SV *data; |
6549
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
40 void *instance; |
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
41 GaimPlugin *plugin; |
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
42 |
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
43 } GaimPerlSignalHandler; |
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
44 |
11170 | 45 void gaim_perl_plugin_action_cb(GaimPluginAction * gpa); |
46 GList *gaim_perl_plugin_action(GaimPlugin *plugin, gpointer context); | |
47 | |
11123 | 48 GaimPluginPrefFrame *gaim_perl_get_plugin_frame(GaimPlugin *plugin); |
6549
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
49 |
11170 | 50 GtkWidget *gaim_perl_gtk_get_plugin_frame(GaimPlugin *plugin); |
51 | |
6568
33486b749aa9
[gaim-migrate @ 7090]
Christian Hammond <chipx86@chipx86.com>
parents:
6567
diff
changeset
|
52 void gaim_perl_timeout_add(GaimPlugin *plugin, int seconds, SV *callback, |
12882
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
53 SV *data); |
6520 | 54 void gaim_perl_timeout_clear_for_plugin(GaimPlugin *plugin); |
55 void gaim_perl_timeout_clear(void); | |
56 | |
6550
f1736493aebb
[gaim-migrate @ 7072]
Christian Hammond <chipx86@chipx86.com>
parents:
6549
diff
changeset
|
57 void gaim_perl_signal_connect(GaimPlugin *plugin, void *instance, |
12882
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
58 const char *signal, SV *callback, |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
59 SV *data); |
6550
f1736493aebb
[gaim-migrate @ 7072]
Christian Hammond <chipx86@chipx86.com>
parents:
6549
diff
changeset
|
60 void gaim_perl_signal_disconnect(GaimPlugin *plugin, void *instance, |
12882
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
61 const char *signal); |
6549
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
62 void gaim_perl_signal_clear_for_plugin(GaimPlugin *plugin); |
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
63 void gaim_perl_signal_clear(void); |
ed796f756237
[gaim-migrate @ 7071]
Christian Hammond <chipx86@chipx86.com>
parents:
6520
diff
changeset
|
64 |
12882
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
65 GaimCmdId gaim_perl_cmd_register(GaimPlugin *plugin, const gchar *cmd, |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
66 const gchar *args, GaimCmdPriority priority, |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
67 GaimCmdFlag flag, const gchar *prpl_id, |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
68 SV *callback, const gchar *helpstr, SV *data); |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
69 void gaim_perl_cmd_unregister(GaimCmdId id); |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
70 void gaim_perl_cmd_clear_for_plugin(GaimPlugin *plugin); |
e1603fd610fa
[gaim-migrate @ 15234]
Etan Reisner <pidgin@unreliablesource.net>
parents:
11170
diff
changeset
|
71 |
6520 | 72 #endif /* _GAIM_PERL_HANDLERS_H_ */ |