Mercurial > pidgin.yaz
annotate pidgin/plugins/crazychat/cc_pidgin_plugin.c @ 24538:104f6f755c7e
Make our purple_util_fetch_url_request() function able to handle
fetching stuff from https urls. This is needed by yahoo's
webmessenger style login, if we want to try enable it again.
And it will be needed by the new oscar authentication.
I wrote this maybe a year ago and we've been using it at Meebo
with no problems, but it would be great if one person could look
through these changes.
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Sat, 06 Dec 2008 01:08:20 +0000 |
| parents | 3cc856ca2338 |
| children | a8cc50c2279f |
| rev | line source |
|---|---|
|
15904
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
1 #include <stdio.h> |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
2 #include <assert.h> |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
3 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
4 #include "internal.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
5 #include "plugin.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
6 #include "gtkplugin.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
7 #include "gtkblist.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
8 #include "gtkutils.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
9 #include "connection.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
10 #include "conversation.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
11 #include "network.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
12 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
13 #include <gtk/gtkgl.h> |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
14 #include <GL/gl.h> |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
15 #include <GL/glu.h> |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
16 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
17 #include "crazychat.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
18 #include "cc_network.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
19 #include "cc_interface.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
20 #include "cc_gtk_gl.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
21 #include "util.h" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
22 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
23 /* --- begin type and global variable definitions --- */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
24 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
25 static struct crazychat cc_info; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
26 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
27 /* --- begin function declarations --- */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
28 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
29 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
30 * Called by purple plugin to start CrazyChat |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
31 * @param cc the crazychat struct |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
32 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
33 static void cc_init(struct crazychat *cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
34 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
35 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
36 * Called by purple plugin to destroy CrazyChat |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
37 * @param cc the crazychat struct |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
38 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
39 static void cc_destroy(struct crazychat *cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
40 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
41 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
42 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
43 * Buddy menu drawing callback. Adds a CrazyChat menuitem. |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
44 * @param menu the buddy menu widget |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
45 * @param b the buddy whose menu this is |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
46 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
47 static gboolean cc_buddy_menu(GtkWidget *menu, PurpleBuddy *b); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
48 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
49 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
50 * Buddy menu callback. Initiates the CrazyChat session. |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
51 * @param item the gtk buddy menu item |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
52 * @param b the buddy whose menu the item was in |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
53 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
54 static void cc_menu_cb(GtkMenuItem *item, PurpleBuddy *b); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
55 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
56 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
57 * IM callback. Handles receiving a CrazyChat session request. |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
58 * @param account the account we received the IM on |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
59 * @param sender the buddy who we received the message from |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
60 * @param message the message we received |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
61 * @param flags IM flags |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
62 * @param data user data |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
63 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
64 static gboolean receive_im_cb(PurpleAccount *account, char **sender, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
65 char **message, int *flags, void *data); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
66 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
67 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
68 * Displaying IM callback. Drops CrazyChat messages from IM window. |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
69 * @param account the account we are displaying the IM on |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
70 * @param conv the conversation we are displaying the IM on |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
71 * @param message the message we are displaying |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
72 * @param data user data |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
73 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
74 static gboolean display_im_cb(PurpleAccount *account, const char *who, char **message, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
75 PurpleConnection *conv, PurpleMessageFlags flags, void *data); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
76 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
77 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
78 * Callback for CrazyChat plugin configuration frame |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
79 * @param plugin the plugin data |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
80 * @return the configuration frame |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
81 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
82 static GtkWidget *get_config_frame(PurplePlugin *plugin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
83 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
84 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
85 * TCP port callback. Changes the port used to listen for new CC sessions |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
86 * @param spin the spinner button whose value changed |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
87 * @param data user data |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
88 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
89 static void tcp_port_cb(GtkSpinButton *spin, struct crazychat *cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
90 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
91 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
92 * UDP port callback. Changes the port used to send/recv CC session frames |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
93 * @param spin the spinner button whose value changed |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
94 * @param data user data |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
95 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
96 static void udp_port_cb(GtkSpinButton *spin, struct crazychat *cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
97 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
98 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
99 * Features enabling/disabling callback. Initializes the input processing |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
100 * or shuts it down. |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
101 * @param data user data |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
102 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
103 static void features_enable_cb(struct crazychat *cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
104 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
105 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
106 * User signed on callback. Now we have a buddy list to connect a signal |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
107 * handler to. |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
108 * @param gc the purple connection we are signed on |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
109 * @param plugin our plugin struct |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
110 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
111 static gboolean cc_signed_on(PurpleConnection *gc, void *plugin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
112 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
113 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
114 * Plugin loading callback. If a buddy list exists, connect our buddy menu |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
115 * drawing callback to the signal handler, otherwise, connect a signed on |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
116 * signal handler so we know when we get a buddy list. |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
117 * @param plugin our plugin struct |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
118 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
119 static gboolean plugin_load(PurplePlugin *plugin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
120 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
121 /** |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
122 * Plugin unloading callback. Disconnect all handlers and free data. |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
123 * @param plugin our plugin struct |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
124 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
125 static gboolean plugin_unload(PurplePlugin *plugin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
126 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
127 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
128 /* --- end function declarations --- */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
129 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
130 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
131 #define CRAZYCHAT_PLUGIN_ID "gtk-crazychat" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
132 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
133 static PidginPluginUiInfo ui_info = { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
134 get_config_frame /**< get_config_frame */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
135 }; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
136 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
137 static PurplePluginInfo info = { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
138 2, /**< api_version */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
139 PURPLE_PLUGIN_STANDARD, /**< type */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
140 PIDGIN_PLUGIN_TYPE, /**< ui_requirement */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
141 0, /**< flags */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
142 NULL, /**< dependencies */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
143 PURPLE_PRIORITY_DEFAULT, /**< priority */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
144 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
145 CRAZYCHAT_PLUGIN_ID, /**< id */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
146 N_("Crazychat"), /**< name */ |
|
21030
3cc856ca2338
Add a --with-extraversion option to ./configure so packagers can fine tune
Stu Tomlinson <stu@nosnilmot.com>
parents:
15904
diff
changeset
|
147 DISPLAY_VERSION, /**< version */ |
|
15904
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
148 /** summary */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
149 N_("Plugin to establish a Crazychat session."), |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
150 /** description */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
151 N_("Uses Purple to obtain buddy ips to connect for a Crazychat session"), |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
152 "\n" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
153 "William Chan <chanman@stanford.edu>\n" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
154 "Ian Spiro <ispiro@stanford.edu>\n" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
155 "Charlie Stockman<stockman@stanford.edu>\n" |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
156 "Steve Yelderman<scy@stanford.edu>", /**< author */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
157 PURPLE_WEBSITE, /**< homepage */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
158 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
159 plugin_load, /**< load */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
160 plugin_unload, /**< unload */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
161 NULL, /**< destroy */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
162 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
163 &ui_info, /**< ui_info */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
164 &cc_info /**< extra_info */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
165 }; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
166 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
167 /* --- end plugin struct definition --- */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
168 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
169 static void cc_init(struct crazychat *cc) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
170 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
171 /* initialize main crazychat thread */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
172 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
173 assert(cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
174 memset(cc, 0, sizeof(*cc)); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
175 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
176 /* initialize network configuration */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
177 cc->tcp_port = DEFAULT_CC_PORT; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
178 cc->udp_port = DEFAULT_CC_PORT; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
179 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
180 /* disable input subsystem */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
181 //cc->features_state = 0; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
182 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
183 /* initialize input subsystem */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
184 cc->features_state = 1; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
185 cc->input_data = init_input(cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
186 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
187 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
188 static void cc_destroy(struct crazychat *cc) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
189 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
190 assert(cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
191 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
192 if (cc->features_state) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
193 destroy_input(cc->input_data); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
194 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
195 memset(cc, 0, sizeof(*cc)); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
196 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
197 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
198 static gboolean cc_buddy_menu(GtkWidget *menu, PurpleBuddy *b) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
199 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
200 GtkWidget *menuitem; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
201 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
202 menuitem = gtk_menu_item_new_with_mnemonic("CrazyChat"); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
203 g_signal_connect(G_OBJECT(menuitem), "activate", |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
204 G_CALLBACK(cc_menu_cb), b); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
205 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
206 return FALSE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
207 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
208 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
209 static void cc_menu_cb(GtkMenuItem *item, PurpleBuddy *b) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
210 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
211 assert(item); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
212 assert(b); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
213 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
214 /* send the invite */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
215 cc_net_send_invite(&cc_info, b->name, b->account); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
216 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
217 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
218 static gboolean receive_im_cb(PurpleAccount *account, char **sender, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
219 char **message, int *flags, void *data) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
220 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
221 struct crazychat *cc; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
222 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
223 cc = (struct crazychat*)data; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
224 assert(cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
225 if (!strncmp(*message, CRAZYCHAT_INVITE_CODE, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
226 strlen(CRAZYCHAT_INVITE_CODE))) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
227 Debug(*message); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
228 char *split = strchr(*message, '!'); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
229 assert(split); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
230 *split = 0; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
231 split++; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
232 cc_net_recv_invite(account, cc, *sender, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
233 &(*message)[strlen(CRAZYCHAT_INVITE_CODE)], |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
234 split); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
235 return TRUE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
236 } else if (!strncmp(*message, CRAZYCHAT_ACCEPT_CODE, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
237 strlen(CRAZYCHAT_ACCEPT_CODE))) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
238 cc_net_recv_accept(account, cc, *sender, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
239 &(*message)[strlen(CRAZYCHAT_ACCEPT_CODE)]); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
240 return TRUE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
241 } else if (!strncmp(*message, CRAZYCHAT_READY_CODE, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
242 strlen(CRAZYCHAT_READY_CODE))) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
243 cc_net_recv_ready(account, cc, *sender); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
244 return TRUE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
245 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
246 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
247 return FALSE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
248 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
249 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
250 static gboolean display_im_cb(PurpleAccount *account, PurpleConversation *conv, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
251 char **message, void *data) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
252 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
253 struct crazychat *cc; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
254 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
255 cc = (struct crazychat*)data; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
256 assert(cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
257 if (!strncmp(*message, CRAZYCHAT_INVITE_CODE, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
258 strlen(CRAZYCHAT_INVITE_CODE))) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
259 return TRUE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
260 } else if (!strncmp(*message, CRAZYCHAT_ACCEPT_CODE, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
261 strlen(CRAZYCHAT_ACCEPT_CODE))) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
262 return TRUE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
263 } else if (!strncmp(*message, CRAZYCHAT_READY_CODE, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
264 strlen(CRAZYCHAT_READY_CODE))) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
265 return TRUE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
266 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
267 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
268 return FALSE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
269 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
270 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
271 static GtkWidget *get_config_frame(PurplePlugin *plugin) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
272 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
273 GtkWidget *ret; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
274 GtkWidget *frame; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
275 GtkWidget *vbox, *hbox; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
276 GtkWidget *drawing_area; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
277 GtkWidget *label; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
278 GtkAdjustment *adj; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
279 GtkWidget *spinner; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
280 GtkWidget *button, *button1, *button2; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
281 GSList *group; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
282 struct draw_info *info; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
283 struct crazychat *cc; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
284 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
285 cc = (struct crazychat*)plugin->info->extra_info; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
286 assert(cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
287 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
288 /* create widgets */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
289 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
290 /* creating the config frame */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
291 ret = gtk_vbox_new(FALSE, 18); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
292 gtk_container_set_border_width(GTK_CONTAINER(ret), 12); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
293 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
294 /* make the network configuration frame */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
295 frame = pidgin_make_frame(ret, _("Network Configuration")); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
296 gtk_widget_show(frame); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
297 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
298 /* add boxes for packing purposes */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
299 vbox = gtk_vbox_new(FALSE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
300 gtk_box_pack_start(GTK_BOX(frame), vbox, TRUE, TRUE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
301 gtk_widget_show(vbox); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
302 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
303 /* add widgets to row 1 */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
304 hbox = gtk_hbox_new(FALSE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
305 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
306 gtk_widget_show(hbox); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
307 label = gtk_label_new(_("TCP port")); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
308 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 15); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
309 gtk_widget_show(label); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
310 adj = (GtkAdjustment*)gtk_adjustment_new(DEFAULT_CC_PORT, 1, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
311 G_MAXUSHORT, 1, 1000, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
312 spinner = gtk_spin_button_new(adj, 1, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
313 g_signal_connect(G_OBJECT(spinner), "value_changed", |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
314 G_CALLBACK(tcp_port_cb), cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
315 gtk_box_pack_start(GTK_BOX(hbox), spinner, FALSE, FALSE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
316 gtk_widget_show(spinner); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
317 label = gtk_label_new(_("UDP port")); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
318 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 15); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
319 gtk_widget_show(label); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
320 adj = (GtkAdjustment*)gtk_adjustment_new(DEFAULT_CC_PORT, 1, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
321 G_MAXUSHORT, 1, 1000, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
322 spinner = gtk_spin_button_new(adj, 1, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
323 g_signal_connect(G_OBJECT(spinner), "value_changed", |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
324 G_CALLBACK(udp_port_cb), cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
325 gtk_box_pack_start(GTK_BOX(hbox), spinner, FALSE, FALSE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
326 gtk_widget_show(spinner); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
327 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
328 /* make the feature configuration frame */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
329 frame = pidgin_make_frame(ret, _("Feature Calibration")); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
330 gtk_widget_show(frame); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
331 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
332 /* add hbox for packing purposes */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
333 hbox = gtk_hbox_new(TRUE, 40); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
334 gtk_box_pack_start(GTK_BOX(frame), hbox, TRUE, TRUE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
335 gtk_widget_show(hbox); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
336 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
337 /* add feature calibration options */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
338 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
339 /* add vbox for packing purposes */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
340 vbox = gtk_vbox_new(TRUE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
341 gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
342 gtk_widget_show(vbox); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
343 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
344 /* add enabled / disabled */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
345 button1 = gtk_radio_button_new_with_label(NULL, _("Enabled")); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
346 gtk_box_pack_start(GTK_BOX(vbox), button1, TRUE, TRUE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
347 gtk_widget_show(button1); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
348 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
349 group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(button1)); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
350 button2 = gtk_radio_button_new_with_label(group, _("Disabled")); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
351 gtk_box_pack_start(GTK_BOX(vbox), button2, TRUE, TRUE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
352 gtk_widget_show(button2); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
353 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
354 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button1), |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
355 cc->features_state); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
356 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button2), |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
357 !cc->features_state); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
358 g_signal_connect_swapped(G_OBJECT(button1), "toggled", |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
359 G_CALLBACK(features_enable_cb), cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
360 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
361 /* add vbox for packing purposes */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
362 vbox = gtk_vbox_new(TRUE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
363 gtk_box_pack_end(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
364 gtk_widget_show(vbox); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
365 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
366 /* add calibrate button */ |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
367 button = gtk_button_new_with_label("Calibrate"); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
368 gtk_box_pack_start(GTK_BOX(vbox), button, TRUE, FALSE, 0); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
369 gtk_widget_show(button); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
370 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
371 gtk_widget_show(ret); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
372 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
373 return ret; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
374 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
375 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
376 static void tcp_port_cb(GtkSpinButton *spin, struct crazychat *cc) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
377 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
378 assert(spin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
379 assert(cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
380 cc->tcp_port = gtk_spin_button_get_value_as_int(spin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
381 Debug("New tcp port: %d\n", cc->tcp_port); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
382 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
383 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
384 static void udp_port_cb(GtkSpinButton *spin, struct crazychat *cc) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
385 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
386 assert(spin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
387 assert(cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
388 cc->udp_port = gtk_spin_button_get_value_as_int(spin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
389 Debug("New udp port: %d\n", cc->udp_port); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
390 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
391 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
392 static void features_enable_cb(struct crazychat *cc) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
393 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
394 Debug("Changing features state\n"); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
395 cc->features_state = !cc->features_state; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
396 if (cc->features_state) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
397 cc->input_data = init_input(cc); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
398 } else { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
399 if (cc->input_data) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
400 gtk_widget_destroy(cc->input_data->widget); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
401 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
402 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
403 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
404 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
405 static gboolean cc_signed_on(PurpleConnection *gc, void *plugin) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
406 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
407 struct crazychat *extra; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
408 void *conv_handle; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
409 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
410 assert(plugin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
411 extra = (struct crazychat*)((PurplePlugin*)plugin)->info->extra_info; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
412 purple_signal_disconnect |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
413 (purple_connections_get_handle(), "signed-on", |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
414 plugin, PURPLE_CALLBACK(cc_signed_on)); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
415 purple_signal_connect(PIDGIN_BLIST |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
416 (purple_get_blist()), |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
417 "drawing-menu", plugin, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
418 PURPLE_CALLBACK(cc_buddy_menu), NULL); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
419 conv_handle = purple_conversations_get_handle(); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
420 purple_signal_connect(conv_handle, "received-im-msg", plugin, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
421 PURPLE_CALLBACK(receive_im_cb), extra); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
422 purple_signal_connect(conv_handle, "displaying-im-msg", plugin, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
423 PURPLE_CALLBACK(display_im_cb), extra); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
424 return FALSE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
425 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
426 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
427 static gboolean plugin_load(PurplePlugin *plugin) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
428 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
429 PurpleBuddyList *buddy_list; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
430 void *conv_handle; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
431 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
432 if (cc_init_gtk_gl()) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
433 return FALSE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
434 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
435 cc_init(&cc_info); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
436 buddy_list = purple_get_blist(); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
437 if (buddy_list) { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
438 purple_signal_connect(PIDGIN_BLIST |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
439 (buddy_list), |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
440 "drawing-menu", plugin, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
441 PURPLE_CALLBACK(cc_buddy_menu), NULL); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
442 conv_handle = purple_conversations_get_handle(); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
443 purple_signal_connect(conv_handle, "received-im-msg", plugin, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
444 PURPLE_CALLBACK(receive_im_cb), &cc_info); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
445 purple_signal_connect(conv_handle, "displaying-im-msg", plugin, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
446 PURPLE_CALLBACK(display_im_cb), &cc_info); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
447 } else { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
448 purple_signal_connect |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
449 (purple_connections_get_handle(), "signed-on", |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
450 plugin, PURPLE_CALLBACK(cc_signed_on), plugin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
451 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
452 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
453 Debug("CrazyChat plugin loaded.\n"); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
454 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
455 return TRUE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
456 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
457 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
458 static gboolean plugin_unload(PurplePlugin *plugin) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
459 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
460 void *conv_handle; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
461 struct crazychat *extra; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
462 assert(plugin); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
463 extra = (struct crazychat*) plugin->info->extra_info; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
464 cc_destroy(extra); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
465 conv_handle = purple_conversations_get_handle(); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
466 purple_signal_disconnect(PIDGIN_BLIST |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
467 (purple_get_blist()), |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
468 "drawing-menu", plugin, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
469 PURPLE_CALLBACK(cc_buddy_menu)); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
470 purple_signal_disconnect(conv_handle, "received-im", plugin, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
471 PURPLE_CALLBACK(receive_im_cb)); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
472 purple_signal_disconnect(conv_handle, "displaying-im-msg", plugin, |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
473 PURPLE_CALLBACK(display_im_cb)); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
474 Debug("CrazyChat plugin unloaded.\n"); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
475 return TRUE; |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
476 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
477 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
478 static void init_plugin(PurplePlugin *plugin) |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
479 { |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
480 gtk_gl_init(NULL, NULL); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
481 memset(&cc_info, 0, sizeof(cc_info)); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
482 Debug("CrazyChat plugin initialized\n"); |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
483 } |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
484 |
|
15cccdd32321
Changes that give crazychat a better chance of compiling with purple and pidgin
Mark Doliner <mark@kingant.net>
parents:
diff
changeset
|
485 PURPLE_INIT_PLUGIN(crazychat, init_plugin, info) |
