annotate plugins/docklet/docklet.h @ 9306:04a3e9e869ee

[gaim-migrate @ 10114] Ok, this is yahoo buddy icon uploading support. It's still not quite right, but it mostly works. We don't send out updates yet so changing it or unsetting it may not work. But setting it initally, or changing it and relogging will probably work. I never did figure out what hash function yahoo is using, so I just used g_string_hash. It probably won't matter. I hope to finish this up before release. But people probably won't notice the bugs too much anyway. It shouldn't crash or anything, people just might not always see your newest icon right away. Have fun kids. For the record, Simguy tells me Yahoo likes 96x96 PNGs. committer: Tailor Script <tailor@pidgin.im>
author Tim Ringenbach <marv@pidgin.im>
date Fri, 18 Jun 2004 07:28:25 +0000
parents c2fb9192377b
children d082b2a71ee7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6208
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
1 /*
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
2 * System tray icon (aka docklet) plugin for Gaim
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
3 *
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
4 * Copyright (C) 2002-3 Robert McQueen <robot101@debian.org>
6077
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
5 * Copyright (C) 2003 Herman Bloggs <hermanator12002@yahoo.com>
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
6 * Inspired by a similar plugin by:
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
7 * John (J5) Palmieri <johnp@martianrock.com>
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
8 *
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
10 * modify it under the terms of the GNU General Public License as
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
11 * published by the Free Software Foundation; either version 2 of the
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
12 * License, or (at your option) any later version.
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
13 *
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful, but
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
17 * General Public License for more details.
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
18 *
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
20 * along with this program; if not, write to the Free Software
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
22 * 02111-1307, USA.
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
23 */
6208
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
24
6077
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
25 #ifndef _DOCKLET_H_
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
26 #define _DOCKLET_H_
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
27
6208
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
28 enum docklet_status
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
29 {
6077
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
30 offline,
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
31 offline_connecting,
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
32 online,
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
33 online_connecting,
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
34 online_pending,
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
35 away,
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
36 away_pending
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
37 };
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
38
6208
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
39 struct docklet_ui_ops
6077
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
40 {
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
41 void (*create)();
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
42 void (*destroy)();
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
43 void (*update_icon)(enum docklet_status);
6894
c2fb9192377b [gaim-migrate @ 7441]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6208
diff changeset
44 void (*blank_icon)();
6077
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
45 };
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
46
6208
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
47 /* useful for setting idle callbacks that will be cleaned up */
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
48 extern GaimPlugin *handle;
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
49
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
50 /* functions in docklet.c */
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
51 extern void docklet_clicked(int);
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
52 extern void docklet_embedded();
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
53 extern void docklet_remove(gboolean);
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
54 extern void docklet_set_ui_ops(struct docklet_ui_ops *);
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
55
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
56 /* function in docklet-{x11,win32}.c */
3e3ee3cba192 [gaim-migrate @ 6694]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 6077
diff changeset
57 extern void docklet_ui_init();
6077
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
58
b2c8e08508af [gaim-migrate @ 6536]
Herman Bloggs <hermanator12002@yahoo.com>
parents:
diff changeset
59 #endif /* _DOCKLET_H_ */