Sat, 12 Nov 2005 15:27:41 +0000
[gaim-migrate @ 14345]
One parts doxygen one parts whitespace
| 2672 | 1 | /* |
|
3952
d13e1fde68d8
[gaim-migrate @ 4133]
Mark Doliner <markdoliner@pidgin.im>
parents:
2673
diff
changeset
|
2 | * Family 0x0008 - Popups. |
|
d13e1fde68d8
[gaim-migrate @ 4133]
Mark Doliner <markdoliner@pidgin.im>
parents:
2673
diff
changeset
|
3 | * |
|
2673
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
4 | * Popups are just what it sounds like. They're a way for the server to |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
5 | * open up an informative box on the client's screen. |
| 2672 | 6 | */ |
| 7 | ||
| 8 | #define FAIM_INTERNAL | |
| 9 | #include <aim.h> | |
| 10 | ||
|
2673
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
11 | /* |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
12 | * This is all there is to it. |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
13 | * |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
14 | * The message is probably HTML. |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
15 | * |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
16 | */ |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
17 | static int parsepopup(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
18 | { |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
19 | aim_rxcallback_t userfunc; |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
20 | aim_tlvlist_t *tl; |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
21 | int ret = 0; |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
22 | char *msg, *url; |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
23 | fu16_t width, height, delay; |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
24 | |
|
7167
9cfb68a44e17
[gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents:
3952
diff
changeset
|
25 | tl = aim_tlvlist_read(bs); |
|
2673
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
26 | |
|
7167
9cfb68a44e17
[gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents:
3952
diff
changeset
|
27 | msg = aim_tlv_getstr(tl, 0x0001, 1); |
|
9cfb68a44e17
[gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents:
3952
diff
changeset
|
28 | url = aim_tlv_getstr(tl, 0x0002, 1); |
|
9cfb68a44e17
[gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents:
3952
diff
changeset
|
29 | width = aim_tlv_get16(tl, 0x0003, 1); |
|
9cfb68a44e17
[gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents:
3952
diff
changeset
|
30 | height = aim_tlv_get16(tl, 0x0004, 1); |
|
9cfb68a44e17
[gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents:
3952
diff
changeset
|
31 | delay = aim_tlv_get16(tl, 0x0005, 1); |
|
2673
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
32 | |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
33 | if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
34 | ret = userfunc(sess, rx, msg, url, width, height, delay); |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
35 | |
|
7167
9cfb68a44e17
[gaim-migrate @ 7734]
Mark Doliner <markdoliner@pidgin.im>
parents:
3952
diff
changeset
|
36 | aim_tlvlist_free(&tl); |
|
2673
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
37 | free(msg); |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
38 | free(url); |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
39 | |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
40 | return ret; |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
41 | } |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
42 | |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
43 | static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs) |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
44 | { |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
45 | |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
46 | if (snac->subtype == 0x0002) |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
47 | return parsepopup(sess, mod, rx, snac, bs); |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
48 | |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
49 | return 0; |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
50 | } |
|
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
51 | |
| 2672 | 52 | faim_internal int popups_modfirst(aim_session_t *sess, aim_module_t *mod) |
| 53 | { | |
| 54 | ||
| 55 | mod->family = 0x0008; | |
| 56 | mod->version = 0x0001; | |
| 57 | mod->toolid = 0x0104; | |
| 58 | mod->toolversion = 0x0001; | |
| 59 | mod->flags = 0; | |
| 60 | strncpy(mod->name, "popups", sizeof(mod->name)); | |
|
2673
84bb25b76700
[gaim-migrate @ 2686]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
2672
diff
changeset
|
61 | mod->snachandler = snachandler; |
| 2672 | 62 | |
| 63 | return 0; | |
| 64 | } |