Fri, 19 Jul 2013 21:53:05 +0530
Backed out changeset 1feefa206b17
| 6846 | 1 | /** |
|
6869
d5cb454deff7
[gaim-migrate @ 7415]
Mark Doliner <markdoliner@pidgin.im>
parents:
6846
diff
changeset
|
2 | * @file buddyicon.h Buddy Icon API |
| 6846 | 3 | * @ingroup core |
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
4 | */ |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
5 | |
|
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
6 | /* purple |
| 6846 | 7 | * |
| 15884 | 8 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 9 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 10 | * source distribution. | |
| 6846 | 11 | * |
| 12 | * This program is free software; you can redistribute it and/or modify | |
| 13 | * it under the terms of the GNU General Public License as published by | |
| 14 | * the Free Software Foundation; either version 2 of the License, or | |
| 15 | * (at your option) any later version. | |
| 16 | * | |
| 17 | * This program is distributed in the hope that it will be useful, | |
| 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 20 | * GNU General Public License for more details. | |
| 21 | * | |
| 22 | * You should have received a copy of the GNU General Public License | |
| 23 | * along with this program; if not, write to the Free Software | |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
18101
diff
changeset
|
24 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 6846 | 25 | */ |
| 15884 | 26 | #ifndef _PURPLE_BUDDYICON_H_ |
| 27 | #define _PURPLE_BUDDYICON_H_ | |
| 6846 | 28 | |
|
34832
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
29 | #define PURPLE_TYPE_BUDDY_ICON (purple_buddy_icon_get_type()) |
|
34768
d193657a4b37
Added GBoxed wrapping to PurpleBuddyIcon
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
30 | |
|
34832
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
31 | /** An opaque structure representing a buddy icon for a particular user on a |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
32 | * particular #PurpleAccount. Instances are reference-counted; use |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
33 | * purple_buddy_icon_ref() and purple_buddy_icon_unref() to take and release |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
34 | * references. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
35 | */ |
| 15884 | 36 | typedef struct _PurpleBuddyIcon PurpleBuddyIcon; |
| 6846 | 37 | |
| 38 | #include "account.h" | |
|
34706
02cb08146888
Renamed blist.[ch] to buddylist.[ch]
Ankit Vani <a@nevitus.org>
parents:
34699
diff
changeset
|
39 | #include "buddylist.h" |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
40 | #include "imgstore.h" |
| 10483 | 41 | #include "prpl.h" |
|
18101
3ce21b5a182c
A patch from David Grohmann (dave1g) to log embedded images.
Richard Laager <rlaager@pidgin.im>
parents:
16900
diff
changeset
|
42 | #include "util.h" |
| 6846 | 43 | |
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32305
diff
changeset
|
44 | G_BEGIN_DECLS |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
45 | |
| 6846 | 46 | /**************************************************************************/ |
| 47 | /** @name Buddy Icon API */ | |
| 48 | /**************************************************************************/ | |
| 49 | /*@{*/ | |
| 50 | ||
| 51 | /** | |
|
34832
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
52 | * Returns the GType for the PurpleBuddyIcon boxed structure. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
53 | * TODO Boxing of PurpleBuddyIcon is a temporary solution to having a GType for |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
54 | * icons. This should rather be a GObject instead of a GBoxed. |
|
34768
d193657a4b37
Added GBoxed wrapping to PurpleBuddyIcon
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
55 | */ |
|
d193657a4b37
Added GBoxed wrapping to PurpleBuddyIcon
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
56 | GType purple_buddy_icon_get_type(void); |
|
d193657a4b37
Added GBoxed wrapping to PurpleBuddyIcon
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
57 | |
|
d193657a4b37
Added GBoxed wrapping to PurpleBuddyIcon
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
58 | /** |
|
22763
6e4bbebdf127
Better documentation.
Mark Doliner <markdoliner@pidgin.im>
parents:
20147
diff
changeset
|
59 | * Creates a new buddy icon structure and populates it. |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
60 | * |
| 33663 | 61 | * If an icon for this account+username already exists, you'll get a reference |
| 62 | * to that structure, which will have been updated with the data supplied. | |
| 6846 | 63 | * |
| 64 | * @param account The account the user is on. | |
| 65 | * @param username The username the icon belongs to. | |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
66 | * @param icon_data The buddy icon data. |
|
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
67 | * @param icon_len The buddy icon length. |
|
16534
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
68 | * @param checksum A protocol checksum from the prpl or @c NULL. |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
69 | * |
|
16900
e9f12eb06c5b
Rework purple_buddy_icons_find() to return a reference for the caller, which
Richard Laager <rlaager@pidgin.im>
parents:
16677
diff
changeset
|
70 | * @return The buddy icon structure, with a reference for the caller. |
| 6846 | 71 | */ |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
72 | PurpleBuddyIcon *purple_buddy_icon_new(PurpleAccount *account, const char *username, |
|
16534
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
73 | void *icon_data, size_t icon_len, |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
74 | const char *checksum); |
| 6846 | 75 | |
| 76 | /** | |
|
34832
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
77 | * Increments the reference count on a buddy icon. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
78 | * |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
79 | * @param icon The buddy icon. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
80 | * |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
81 | * @return @a icon. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
82 | */ |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
83 | PurpleBuddyIcon *purple_buddy_icon_ref(PurpleBuddyIcon *icon); |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
84 | |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
85 | /** |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
86 | * Decrements the reference count on a buddy icon. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
87 | * |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
88 | * If the reference count reaches 0, the icon will be destroyed. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
89 | * |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
90 | * @param icon The buddy icon. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
91 | */ |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
92 | void purple_buddy_icon_unref(PurpleBuddyIcon *icon); |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
93 | |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
94 | /** |
| 6846 | 95 | * Updates every instance of this icon. |
| 96 | * | |
| 97 | * @param icon The buddy icon. | |
| 98 | */ | |
| 15884 | 99 | void purple_buddy_icon_update(PurpleBuddyIcon *icon); |
| 6846 | 100 | |
| 101 | /** | |
|
16539
75a20ae3a527
Change the imgstore and by extension, then the buddy icon code to take over
Richard Laager <rlaager@pidgin.im>
parents:
16538
diff
changeset
|
102 | * Sets the buddy icon's data. |
| 6846 | 103 | * |
| 104 | * @param icon The buddy icon. | |
|
16539
75a20ae3a527
Change the imgstore and by extension, then the buddy icon code to take over
Richard Laager <rlaager@pidgin.im>
parents:
16538
diff
changeset
|
105 | * @param data The buddy icon data, which the buddy icon code |
|
75a20ae3a527
Change the imgstore and by extension, then the buddy icon code to take over
Richard Laager <rlaager@pidgin.im>
parents:
16538
diff
changeset
|
106 | * takes ownership of and will free. |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
107 | * @param len The length of the data in @a data. |
|
16534
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
108 | * @param checksum A protocol checksum from the prpl or @c NULL. |
| 6846 | 109 | */ |
|
16534
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
110 | void |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
111 | purple_buddy_icon_set_data(PurpleBuddyIcon *icon, guchar *data, |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
112 | size_t len, const char *checksum); |
|
15132
672c39839af1
[gaim-migrate @ 17854]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14254
diff
changeset
|
113 | |
|
672c39839af1
[gaim-migrate @ 17854]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14254
diff
changeset
|
114 | /** |
| 6846 | 115 | * Returns the buddy icon's account. |
| 116 | * | |
| 117 | * @param icon The buddy icon. | |
| 118 | * | |
| 119 | * @return The account. | |
| 120 | */ | |
| 15884 | 121 | PurpleAccount *purple_buddy_icon_get_account(const PurpleBuddyIcon *icon); |
| 6846 | 122 | |
| 123 | /** | |
| 124 | * Returns the buddy icon's username. | |
| 125 | * | |
| 126 | * @param icon The buddy icon. | |
| 127 | * | |
| 128 | * @return The username. | |
| 129 | */ | |
| 15884 | 130 | const char *purple_buddy_icon_get_username(const PurpleBuddyIcon *icon); |
| 6846 | 131 | |
| 132 | /** | |
|
16534
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
133 | * Returns the buddy icon's checksum. |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
134 | * |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
135 | * This function is really only for prpl use. |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
136 | * |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
137 | * @param icon The buddy icon. |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
138 | * |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
139 | * @return The checksum. |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
140 | */ |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
141 | const char *purple_buddy_icon_get_checksum(const PurpleBuddyIcon *icon); |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
142 | |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
143 | /** |
| 6846 | 144 | * Returns the buddy icon's data. |
| 145 | * | |
| 146 | * @param icon The buddy icon. | |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
147 | * @param len If not @c NULL, the length of the icon data returned will be |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
148 | * set in the location pointed to by this. |
| 6846 | 149 | * |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
150 | * @return A pointer to the icon data. |
| 6846 | 151 | */ |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
152 | gconstpointer purple_buddy_icon_get_data(const PurpleBuddyIcon *icon, size_t *len); |
| 6846 | 153 | |
|
10953
e5987ea70985
[gaim-migrate @ 12753]
Richard Laager <rlaager@pidgin.im>
parents:
10483
diff
changeset
|
154 | /** |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
155 | * Returns an extension corresponding to the buddy icon's file type. |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
156 | * |
|
15132
672c39839af1
[gaim-migrate @ 17854]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14254
diff
changeset
|
157 | * @param icon The buddy icon. |
|
15997
ff97c5f69196
A little doxygen love and some tiny gaim->purpleisms
Mark Doliner <markdoliner@pidgin.im>
parents:
15884
diff
changeset
|
158 | * |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
159 | * @return The icon's extension, "icon" if unknown, or @c NULL if |
|
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
160 | * the image data has disappeared. |
|
10953
e5987ea70985
[gaim-migrate @ 12753]
Richard Laager <rlaager@pidgin.im>
parents:
10483
diff
changeset
|
161 | */ |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
162 | const char *purple_buddy_icon_get_extension(const PurpleBuddyIcon *icon); |
|
10953
e5987ea70985
[gaim-migrate @ 12753]
Richard Laager <rlaager@pidgin.im>
parents:
10483
diff
changeset
|
163 | |
|
16538
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
164 | /** |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
165 | * Returns a full path to an icon. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
166 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
167 | * If the icon has data and the file exists in the cache, this will return |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
168 | * a full path to the cache file. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
169 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
170 | * In general, it is not appropriate to be poking in the icon cache |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
171 | * directly. If you find yourself wanting to use this function, think |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
172 | * very long and hard about it, and then don't. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
173 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
174 | * @param icon The buddy icon |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
175 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
176 | * @return A full path to the file, or @c NULL under various conditions. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
177 | */ |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
178 | char *purple_buddy_icon_get_full_path(PurpleBuddyIcon *icon); |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
179 | |
| 6846 | 180 | /*@}*/ |
| 181 | ||
| 182 | /**************************************************************************/ | |
| 183 | /** @name Buddy Icon Subsystem API */ | |
| 184 | /**************************************************************************/ | |
| 185 | /*@{*/ | |
| 186 | ||
| 187 | /** | |
| 188 | * Sets a buddy icon for a user. | |
| 189 | * | |
| 190 | * @param account The account the user is on. | |
| 191 | * @param username The username of the user. | |
|
16539
75a20ae3a527
Change the imgstore and by extension, then the buddy icon code to take over
Richard Laager <rlaager@pidgin.im>
parents:
16538
diff
changeset
|
192 | * @param icon_data The buddy icon data, which the buddy icon code |
|
75a20ae3a527
Change the imgstore and by extension, then the buddy icon code to take over
Richard Laager <rlaager@pidgin.im>
parents:
16538
diff
changeset
|
193 | * takes ownership of and will free. |
| 6846 | 194 | * @param icon_len The length of the icon data. |
|
16534
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
195 | * @param checksum A protocol checksum from the prpl or @c NULL. |
| 6846 | 196 | */ |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
197 | void |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
198 | purple_buddy_icons_set_for_user(PurpleAccount *account, const char *username, |
|
16534
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
199 | void *icon_data, size_t icon_len, |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
200 | const char *checksum); |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
201 | |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
202 | /** |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
203 | * Returns the checksum for the buddy icon of a specified buddy. |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
204 | * |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
205 | * This avoids loading the icon image data from the cache if it's |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
206 | * not already loaded for some other reason. |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
207 | * |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
208 | * @param buddy The buddy |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
209 | * |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
210 | * @return The checksum. |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
211 | */ |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
212 | const char * |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
213 | purple_buddy_icons_get_checksum_for_user(PurpleBuddy *buddy); |
| 6846 | 214 | |
| 215 | /** | |
| 216 | * Returns the buddy icon information for a user. | |
| 217 | * | |
| 218 | * @param account The account the user is on. | |
| 219 | * @param username The username of the user. | |
| 220 | * | |
|
16900
e9f12eb06c5b
Rework purple_buddy_icons_find() to return a reference for the caller, which
Richard Laager <rlaager@pidgin.im>
parents:
16677
diff
changeset
|
221 | * @return The icon (with a reference for the caller) if found, or @c NULL if |
|
e9f12eb06c5b
Rework purple_buddy_icons_find() to return a reference for the caller, which
Richard Laager <rlaager@pidgin.im>
parents:
16677
diff
changeset
|
222 | * not found. |
| 6846 | 223 | */ |
|
16421
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
224 | PurpleBuddyIcon * |
|
f9218e1c4703
The buddy icon code as it stands, with lots of bugs and design flaws.
Richard Laager <rlaager@pidgin.im>
parents:
15997
diff
changeset
|
225 | purple_buddy_icons_find(PurpleAccount *account, const char *username); |
| 6846 | 226 | |
| 227 | /** | |
|
16538
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
228 | * Returns the buddy icon image for an account. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
229 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
230 | * The caller owns a reference to the image in the store, and must dereference |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
231 | * the image with purple_imgstore_unref() for it to be freed. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
232 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
233 | * This function deals with loading the icon from the cache, if |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
234 | * needed, so it should be called in any case where you want the |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
235 | * appropriate icon. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
236 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
237 | * @param account The account |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
238 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
239 | * @return The account's buddy icon image. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
240 | */ |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
241 | PurpleStoredImage * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
242 | purple_buddy_icons_find_account_icon(PurpleAccount *account); |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
243 | |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
244 | /** |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
245 | * Sets a buddy icon for an account. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
246 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
247 | * This function will deal with saving a record of the icon, |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
248 | * caching the data, etc. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
249 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
250 | * @param account The account for which to set a custom icon. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
251 | * @param icon_data The image data of the icon, which the |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
252 | * buddy icon code will free. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
253 | * @param icon_len The length of the data in @a icon_data. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
254 | * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
255 | * @return The icon that was set. The caller does NOT own |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
256 | * a reference to this, and must call purple_imgstore_ref() |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
257 | * if it wants one. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
258 | */ |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
259 | PurpleStoredImage * |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
260 | purple_buddy_icons_set_account_icon(PurpleAccount *account, |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
261 | guchar *icon_data, size_t icon_len); |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
262 | |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
263 | /** |
|
16677
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
264 | * Returns the timestamp of when the icon was set. |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
265 | * |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
266 | * This is intended for use in protocols that require a timestamp for |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
267 | * buddy icon update reasons. |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
268 | * |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
269 | * @param account The account |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
270 | * |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
271 | * @return The time the icon was set, or 0 if an error occurred. |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
272 | */ |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
273 | time_t |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
274 | purple_buddy_icons_get_account_icon_timestamp(PurpleAccount *account); |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
275 | |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
276 | /** |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
277 | * Returns a boolean indicating if a given blist node has a custom buddy icon. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
278 | * |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
279 | * @param node The blist node. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
280 | * |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
281 | * @return A boolean indicating if @a node has a custom buddy icon. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
282 | */ |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
283 | gboolean |
|
34699
09b2c9219b57
Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents:
33665
diff
changeset
|
284 | purple_buddy_icons_node_has_custom_icon(PurpleBListNode *node); |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
285 | |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
286 | /** |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
287 | * Returns the custom buddy icon image for a blist node. |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
288 | * |
|
16538
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
289 | * The caller owns a reference to the image in the store, and must dereference |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
290 | * the image with purple_imgstore_unref() for it to be freed. |
|
c7e61e2917c9
Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents:
16534
diff
changeset
|
291 | * |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
292 | * This function deals with loading the icon from the cache, if |
|
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
293 | * needed, so it should be called in any case where you want the |
|
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
294 | * appropriate icon. |
|
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
295 | * |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
296 | * @param node The node. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
297 | * |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
298 | * @return The custom buddy icon. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
299 | */ |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
300 | PurpleStoredImage * |
|
34699
09b2c9219b57
Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents:
33665
diff
changeset
|
301 | purple_buddy_icons_node_find_custom_icon(PurpleBListNode *node); |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
302 | |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
303 | /** |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
304 | * Sets a custom buddy icon for a blist node. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
305 | * |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
306 | * This function will deal with saving a record of the icon, caching the data, |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
307 | * etc. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
308 | * |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
309 | * @param node The blist node for which to set a custom icon. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
310 | * @param icon_data The image data of the icon, which the buddy icon code will |
|
24273
f5b589130c88
Don't try to read data from a NULL filename in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23337
diff
changeset
|
311 | * free. Use NULL to unset the icon. |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
312 | * @param icon_len The length of the data in @a icon_data. |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
313 | * |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
314 | * @return The icon that was set. The caller does NOT own a reference to this, |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
315 | * and must call purple_imgstore_ref() if it wants one. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
316 | */ |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
317 | PurpleStoredImage * |
|
34699
09b2c9219b57
Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents:
33665
diff
changeset
|
318 | purple_buddy_icons_node_set_custom_icon(PurpleBListNode *node, |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
319 | guchar *icon_data, size_t icon_len); |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
320 | |
|
23285
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
321 | /** |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
322 | * Sets a custom buddy icon for a blist node. |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
323 | * |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
324 | * Convenience wrapper around purple_buddy_icons_node_set_custom_icon. |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
325 | * @see purple_buddy_icons_node_set_custom_icon() |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
326 | * |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
327 | * @param node The blist node for which to set a custom icon. |
|
24273
f5b589130c88
Don't try to read data from a NULL filename in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23337
diff
changeset
|
328 | * @param filename The path to the icon to set for the blist node. Use NULL |
|
f5b589130c88
Don't try to read data from a NULL filename in
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
23337
diff
changeset
|
329 | * to unset the custom icon. |
|
23285
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
330 | * |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
331 | * @return The icon that was set. The caller does NOT own a reference to this, |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
332 | * and must call purple_imgstore_ref() if it wants one. |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
333 | */ |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
334 | PurpleStoredImage * |
|
34699
09b2c9219b57
Renamed PurpleBlistNode to PurpleBListNode
Ankit Vani <a@nevitus.org>
parents:
33665
diff
changeset
|
335 | purple_buddy_icons_node_set_custom_icon_from_file(PurpleBListNode *node, |
|
23285
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
336 | const gchar *filename); |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
337 | |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
338 | /** |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
339 | * Sets whether or not buddy icon caching is enabled. |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
340 | * |
| 33663 | 341 | * @param caching TRUE if buddy icon caching should be enabled, or |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
342 | * FALSE otherwise. |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
343 | */ |
| 15884 | 344 | void purple_buddy_icons_set_caching(gboolean caching); |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
345 | |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
346 | /** |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
347 | * Returns whether or not buddy icon caching should be enabled. |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
348 | * |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
349 | * The default is TRUE, unless otherwise specified by |
| 15884 | 350 | * purple_buddy_icons_set_caching(). |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
351 | * |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
352 | * @return TRUE if buddy icon caching is enabled, or FALSE otherwise. |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
353 | */ |
| 15884 | 354 | gboolean purple_buddy_icons_is_caching(void); |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
355 | |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
356 | /** |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
357 | * Sets the directory used to store buddy icon cache files. |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
358 | * |
|
7114
6e5e4e674496
[gaim-migrate @ 7681]
Christian Hammond <chipx86@chipx86.com>
parents:
6886
diff
changeset
|
359 | * @param cache_dir The directory to store buddy icon cache files to. |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
360 | */ |
| 15884 | 361 | void purple_buddy_icons_set_cache_dir(const char *cache_dir); |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
362 | |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
363 | /** |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
364 | * Returns the directory used to store buddy icon cache files. |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
365 | * |
| 15884 | 366 | * The default directory is PURPLEDIR/icons, unless otherwise specified |
| 367 | * by purple_buddy_icons_set_cache_dir(). | |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
368 | * |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
369 | * @return The directory to store buddy icon cache files to. |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
370 | */ |
| 15884 | 371 | const char *purple_buddy_icons_get_cache_dir(void); |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
372 | |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
373 | /** |
| 6846 | 374 | * Returns the buddy icon subsystem handle. |
| 375 | * | |
| 376 | * @return The subsystem handle. | |
| 377 | */ | |
| 15884 | 378 | void *purple_buddy_icons_get_handle(void); |
| 6846 | 379 | |
| 380 | /** | |
| 381 | * Initializes the buddy icon subsystem. | |
| 382 | */ | |
| 15884 | 383 | void purple_buddy_icons_init(void); |
| 6846 | 384 | |
| 385 | /** | |
| 386 | * Uninitializes the buddy icon subsystem. | |
| 387 | */ | |
| 15884 | 388 | void purple_buddy_icons_uninit(void); |
| 6846 | 389 | |
| 390 | /*@}*/ | |
| 391 | ||
| 10483 | 392 | /**************************************************************************/ |
| 393 | /** @name Buddy Icon Helper API */ | |
| 394 | /**************************************************************************/ | |
| 395 | /*@{*/ | |
| 396 | ||
| 397 | /** | |
| 398 | * Gets display size for a buddy icon | |
| 399 | */ | |
| 15884 | 400 | void purple_buddy_icon_get_scale_size(PurpleBuddyIconSpec *spec, int *width, int *height); |
| 10483 | 401 | |
| 402 | /*@}*/ | |
| 403 | ||
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32305
diff
changeset
|
404 | G_END_DECLS |
|
14030
23144f1dc950
[gaim-migrate @ 16525]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
405 | |
| 15884 | 406 | #endif /* _PURPLE_BUDDYICON_H_ */ |