Fri, 10 Jun 2022 20:42:36 -0500
fix memory leak when using purple accounts
Testing Done:
ran test_account_manager and test_notification (from /r/1502 where I first encountered that leak) in valgrind -> no more leak and no new invalid read/write
Reviewed at https://reviews.imfreedom.org/r/1503/
|
20147
66f05a854eee
applied changes from 8a731bbd0197fbcc91a705c2d8f528154216defa
Richard Laager <rlaager@pidgin.im>
parents:
19859
diff
changeset
|
1 | /* purple |
| 6846 | 2 | * |
| 15884 | 3 | * Purple is the legal property of its developers, whose names are too numerous |
| 8046 | 4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
| 5 | * source distribution. | |
| 6846 | 6 | * |
| 7 | * This program is free software; you can redistribute it and/or modify | |
| 8 | * it under the terms of the GNU General Public License as published by | |
| 9 | * the Free Software Foundation; either version 2 of the License, or | |
| 10 | * (at your option) any later version. | |
| 11 | * | |
| 12 | * This program is distributed in the hope that it will be useful, | |
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 | * GNU General Public License for more details. | |
| 16 | * | |
| 17 | * You should have received a copy of the GNU General Public License | |
| 18 | * 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
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
| 6846 | 20 | */ |
|
35487
494f09f7f331
Move section blocks inside inclusion guards -- otherwise g-ir-scanner yells
Ankit Vani <a@nevitus.org>
parents:
35486
diff
changeset
|
21 | |
|
40474
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40245
diff
changeset
|
22 | #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION) |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40245
diff
changeset
|
23 | # error "only <purple.h> may be included directly" |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40245
diff
changeset
|
24 | #endif |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
40245
diff
changeset
|
25 | |
|
39659
e4dfb99b0cef
Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
37406
diff
changeset
|
26 | #ifndef PURPLE_BUDDYICON_H |
|
e4dfb99b0cef
Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
37406
diff
changeset
|
27 | #define PURPLE_BUDDYICON_H |
|
40810
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
28 | |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
29 | #include <glib.h> |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
30 | #include <gio/gio.h> |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
31 | |
|
34832
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
32 | #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
|
33 | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
34 | /** |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
35 | * PurpleBuddyIcon: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
36 | * |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
37 | * An opaque structure representing a buddy icon for a particular user on a |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
38 | * particular #PurpleAccount. Instances are reference-counted; use |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
39 | * purple_buddy_icon_ref() and purple_buddy_icon_unref() to take and release |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
40 | * references. |
|
34832
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
41 | */ |
| 15884 | 42 | typedef struct _PurpleBuddyIcon PurpleBuddyIcon; |
| 6846 | 43 | |
|
36624
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
44 | #define PURPLE_TYPE_BUDDY_ICON_SPEC (purple_buddy_icon_spec_get_type()) |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
45 | |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
46 | typedef struct _PurpleBuddyIconSpec PurpleBuddyIconSpec; |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
47 | |
| 6846 | 48 | #include "account.h" |
|
41137
3c1574216aed
Now that the History API is here, remove the purple logging api
Gary Kramlich <grim@reaperworld.com>
parents:
40995
diff
changeset
|
49 | #include "blistnode.h" |
|
34706
02cb08146888
Renamed blist.[ch] to buddylist.[ch]
Ankit Vani <a@nevitus.org>
parents:
34699
diff
changeset
|
50 | #include "buddylist.h" |
| 37134 | 51 | #include "image.h" |
| 36569 | 52 | #include "protocols.h" |
|
18101
3ce21b5a182c
A patch from David Grohmann (dave1g) to log embedded images.
Richard Laager <rlaager@pidgin.im>
parents:
16900
diff
changeset
|
53 | #include "util.h" |
| 6846 | 54 | |
| 37040 | 55 | /** |
|
37406
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
56 | * PurpleBuddyIconScaleFlags: |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
57 | * @PURPLE_ICON_SCALE_DISPLAY: We scale the icon when we display it |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
58 | * @PURPLE_ICON_SCALE_SEND: We scale the icon before we send it to the server |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
59 | */ |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
60 | typedef enum /*< flags >*/ |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
61 | { |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
62 | PURPLE_ICON_SCALE_DISPLAY = 0x01, |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
63 | PURPLE_ICON_SCALE_SEND = 0x02 |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
64 | |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
65 | } PurpleBuddyIconScaleFlags; |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
66 | |
|
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
67 | /** |
| 37040 | 68 | * PurpleBuddyIconSpec: |
| 69 | * @format: This is a comma-delimited list of image formats or %NULL if icons | |
| 70 | * are not supported. Neither the core nor the protocol will actually | |
| 71 | * check to see if the data it's given matches this; it's entirely up | |
| 72 | * to the UI to do what it wants | |
| 73 | * @min_width: Minimum width of this icon | |
| 74 | * @min_height: Minimum height of this icon | |
| 75 | * @max_width: Maximum width of this icon | |
| 76 | * @max_height: Maximum height of this icon | |
| 77 | * @max_filesize: Maximum size in bytes | |
| 78 | * @scale_rules: How to stretch this icon | |
| 79 | * | |
| 80 | * A description of a Buddy Icon specification. This tells Purple what kind of | |
| 81 | * image file it should give a protocol, and what kind of image file it should | |
| 82 | * expect back. Dimensions less than 1 should be ignored and the image not | |
| 83 | * scaled. | |
| 84 | */ | |
|
36624
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
85 | struct _PurpleBuddyIconSpec { |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
86 | char *format; |
| 37040 | 87 | int min_width; |
| 88 | int min_height; | |
| 89 | int max_width; | |
| 90 | int max_height; | |
| 91 | size_t max_filesize; | |
|
37406
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
92 | PurpleBuddyIconScaleFlags scale_rules; |
|
36624
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
93 | }; |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
94 | |
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32305
diff
changeset
|
95 | 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
|
96 | |
| 6846 | 97 | /**************************************************************************/ |
| 35472 | 98 | /* Buddy Icon API */ |
| 6846 | 99 | /**************************************************************************/ |
| 100 | ||
| 101 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
102 | * purple_buddy_icon_get_type: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
103 | * |
|
35458
385156e1b493
Fix some gtk-doc warnings from account to connection
Ankit Vani <a@nevitus.org>
parents:
35436
diff
changeset
|
104 | * Returns: The #GType for the #PurpleBuddyIcon boxed structure. |
|
34768
d193657a4b37
Added GBoxed wrapping to PurpleBuddyIcon
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
105 | */ |
|
d193657a4b37
Added GBoxed wrapping to PurpleBuddyIcon
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
106 | GType purple_buddy_icon_get_type(void); |
|
d193657a4b37
Added GBoxed wrapping to PurpleBuddyIcon
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
107 | |
|
d193657a4b37
Added GBoxed wrapping to PurpleBuddyIcon
Ankit Vani <a@nevitus.org>
parents:
34706
diff
changeset
|
108 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
109 | * purple_buddy_icon_new: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
110 | * @account: The account the user is on. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
111 | * @username: The username the icon belongs to. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
112 | * @icon_data: The buddy icon data. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
113 | * @icon_len: The buddy icon length. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
114 | * @checksum: A protocol checksum from the protocol or %NULL. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
115 | * |
|
22763
6e4bbebdf127
Better documentation.
Mark Doliner <markdoliner@pidgin.im>
parents:
20147
diff
changeset
|
116 | * 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
|
117 | * |
| 33663 | 118 | * If an icon for this account+username already exists, you'll get a reference |
| 119 | * to that structure, which will have been updated with the data supplied. | |
| 6846 | 120 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
121 | * Returns: The buddy icon structure, with a reference for the caller. |
| 6846 | 122 | */ |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
123 | 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
|
124 | 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
|
125 | const char *checksum); |
| 6846 | 126 | |
| 127 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
128 | * purple_buddy_icon_ref: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
129 | * @icon: The buddy icon. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
130 | * |
|
34832
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
131 | * Increments the reference count on a buddy icon. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
132 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
133 | * Returns: @icon. |
|
34832
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
134 | */ |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
135 | PurpleBuddyIcon *purple_buddy_icon_ref(PurpleBuddyIcon *icon); |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
136 | |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
137 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
138 | * purple_buddy_icon_unref: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
139 | * @icon: The buddy icon. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
140 | * |
|
34832
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
141 | * Decrements the reference count on a buddy icon. |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
142 | * |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
143 | * 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
|
144 | */ |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
145 | void purple_buddy_icon_unref(PurpleBuddyIcon *icon); |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
146 | |
|
3662bb1c9435
Backed out changeset 1feefa206b17
Ankit Vani <a@nevitus.org>
parents:
34829
diff
changeset
|
147 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
148 | * purple_buddy_icon_update: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
149 | * @icon: The buddy icon. |
| 6846 | 150 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
151 | * Updates every instance of this icon. |
| 6846 | 152 | */ |
| 15884 | 153 | void purple_buddy_icon_update(PurpleBuddyIcon *icon); |
| 6846 | 154 | |
| 155 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
156 | * purple_buddy_icon_set_data: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
157 | * @icon: The buddy icon. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
158 | * @data: The buddy icon data, which the buddy icon code |
|
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
|
159 | * takes ownership of and will free. |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
160 | * @len: The length of the data in @a data. |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
161 | * @checksum: A protocol checksum from the protocol or %NULL. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
162 | * |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
163 | * Sets the buddy icon's data. |
| 6846 | 164 | */ |
|
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
|
165 | 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
|
166 | 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
|
167 | size_t len, const char *checksum); |
|
15132
672c39839af1
[gaim-migrate @ 17854]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14254
diff
changeset
|
168 | |
|
672c39839af1
[gaim-migrate @ 17854]
Mark Huetsch <markhuetsch@users.sourceforge.net>
parents:
14254
diff
changeset
|
169 | /** |
|
40810
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
170 | * purple_buddy_icon_save_to_filename: |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
171 | * @icon: The #PurpleBuddyIcon instance. |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
172 | * @filename: The filename to write. |
|
40995
f51a68ded6c9
Fix a gobject introspection warning
Gary Kramlich <grim@reaperworld.com>
parents:
40813
diff
changeset
|
173 | * @error: (out) (optional): A return address for a #GError. |
|
40810
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
174 | * |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
175 | * Writes the contents of @icon to @filename. |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
176 | * |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
177 | * Returns: %TRUE on success, or %FALSE on error possibly with @error set. |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
178 | * |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
179 | * Since: 3.0.0 |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
180 | */ |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
181 | gboolean purple_buddy_icon_save_to_filename(PurpleBuddyIcon *icon, const gchar *filename, GError **error); |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
182 | |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
183 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
184 | * purple_buddy_icon_get_account: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
185 | * @icon: The buddy icon. |
| 6846 | 186 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
187 | * Returns the buddy icon's account. |
| 6846 | 188 | * |
|
39738
14d425a528ad
Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
189 | * Returns: (transfer none): The account. |
| 6846 | 190 | */ |
| 15884 | 191 | PurpleAccount *purple_buddy_icon_get_account(const PurpleBuddyIcon *icon); |
| 6846 | 192 | |
| 193 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
194 | * purple_buddy_icon_get_username: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
195 | * @icon: The buddy icon. |
| 6846 | 196 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
197 | * Returns the buddy icon's username. |
| 6846 | 198 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
199 | * Returns: The username. |
| 6846 | 200 | */ |
| 15884 | 201 | const char *purple_buddy_icon_get_username(const PurpleBuddyIcon *icon); |
| 6846 | 202 | |
| 203 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
204 | * purple_buddy_icon_get_checksum: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
205 | * @icon: The buddy icon. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
206 | * |
|
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
|
207 | * 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
|
208 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
209 | * This function is really only for protocol use. |
|
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
|
210 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
211 | * Returns: The checksum. |
|
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
|
212 | */ |
|
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 | 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
|
214 | |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
215 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
216 | * purple_buddy_icon_get_data: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
217 | * @icon: The buddy icon. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
218 | * @len: If not %NULL, the length of the icon data returned will be |
|
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
|
219 | * set in the location pointed to by this. |
| 6846 | 220 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
221 | * Returns the buddy icon's data. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
222 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
223 | * Returns: A pointer to the icon data. |
| 6846 | 224 | */ |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
225 | gconstpointer purple_buddy_icon_get_data(const PurpleBuddyIcon *icon, size_t *len); |
| 6846 | 226 | |
|
10953
e5987ea70985
[gaim-migrate @ 12753]
Richard Laager <rlaager@pidgin.im>
parents:
10483
diff
changeset
|
227 | /** |
|
40810
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
228 | * purple_buddy_icon_get_stream: |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
229 | * @icon: The #PurpleBuddyIcon instance. |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
230 | * |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
231 | * Gets the data of @icon as a #GInputStream. |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
232 | * |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
233 | * Returns: (transfer full): A new #GInputStream. |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
234 | * |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
235 | * Since: 3.0.0 |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
236 | */ |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
237 | GInputStream *purple_buddy_icon_get_stream(PurpleBuddyIcon *icon); |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
238 | |
|
28d50eece92d
Create a PidginAvatar widget.
Gary Kramlich <grim@reaperworld.com>
parents:
40474
diff
changeset
|
239 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
240 | * purple_buddy_icon_get_extension: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
241 | * @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
|
242 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
243 | * Returns an extension corresponding to the buddy icon's file type. |
|
15997
ff97c5f69196
A little doxygen love and some tiny gaim->purpleisms
Mark Doliner <markdoliner@pidgin.im>
parents:
15884
diff
changeset
|
244 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
245 | * Returns: The icon's extension, "icon" if unknown, or %NULL if |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
246 | * the image data has disappeared. |
|
10953
e5987ea70985
[gaim-migrate @ 12753]
Richard Laager <rlaager@pidgin.im>
parents:
10483
diff
changeset
|
247 | */ |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
248 | const char *purple_buddy_icon_get_extension(const PurpleBuddyIcon *icon); |
|
10953
e5987ea70985
[gaim-migrate @ 12753]
Richard Laager <rlaager@pidgin.im>
parents:
10483
diff
changeset
|
249 | |
|
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
|
250 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
251 | * purple_buddy_icon_get_full_path: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
252 | * @icon: The buddy icon |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
253 | * |
|
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
|
254 | * 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
|
255 | * |
|
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 | * 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
|
257 | * 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
|
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 | * 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
|
260 | * 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
|
261 | * 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
|
262 | * |
|
35809
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35487
diff
changeset
|
263 | * Returns: (transfer none): A full path to the file, or %NULL under various conditions. |
|
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
|
264 | */ |
|
35809
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35487
diff
changeset
|
265 | const gchar * |
|
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35487
diff
changeset
|
266 | purple_buddy_icon_get_full_path(PurpleBuddyIcon *icon); |
|
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
|
267 | |
| 6846 | 268 | /**************************************************************************/ |
| 35472 | 269 | /* Buddy Icon Subsystem API */ |
| 6846 | 270 | /**************************************************************************/ |
| 271 | ||
| 272 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
273 | * purple_buddy_icons_set_for_user: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
274 | * @account: The account the user is on. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
275 | * @username: The username of the user. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
276 | * @icon_data: The buddy icon data, which the buddy icon code |
|
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
|
277 | * takes ownership of and will free. |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
278 | * @icon_len: The length of the icon data. |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
279 | * @checksum: A protocol checksum from the protocol or %NULL. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
280 | * |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
281 | * Sets a buddy icon for a user. |
| 6846 | 282 | */ |
|
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
|
283 | 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
|
284 | 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
|
285 | 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
|
286 | 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
|
287 | |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
288 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
289 | * purple_buddy_icons_get_checksum_for_user: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
290 | * @buddy: The buddy |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
291 | * |
|
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
|
292 | * 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
|
293 | * |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
294 | * 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
|
295 | * 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
|
296 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
297 | * Returns: The checksum. |
|
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
|
298 | */ |
|
2ab9e23f99d9
Move the prpl icon checksum code into the core, so we can delete the
Richard Laager <rlaager@pidgin.im>
parents:
16437
diff
changeset
|
299 | 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
|
300 | purple_buddy_icons_get_checksum_for_user(PurpleBuddy *buddy); |
| 6846 | 301 | |
| 302 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
303 | * purple_buddy_icons_find: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
304 | * @account: The account the user is on. |
|
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
305 | * @username: The username of the user. |
| 6846 | 306 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
307 | * Returns the buddy icon information for a user. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
308 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
309 | * Returns: The icon (with a reference for the caller) if found, or %NULL if |
|
16900
e9f12eb06c5b
Rework purple_buddy_icons_find() to return a reference for the caller, which
Richard Laager <rlaager@pidgin.im>
parents:
16677
diff
changeset
|
310 | * not found. |
| 6846 | 311 | */ |
|
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
|
312 | 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
|
313 | purple_buddy_icons_find(PurpleAccount *account, const char *username); |
| 6846 | 314 | |
| 315 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
316 | * purple_buddy_icons_find_account_icon: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
317 | * @account: The account |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
318 | * |
|
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
|
319 | * 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
|
320 | * |
|
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
|
321 | * 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
|
322 | * 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
|
323 | * 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
|
324 | * |
|
39738
14d425a528ad
Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
325 | * Returns: (transfer full): The account's buddy icon image. |
|
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
|
326 | */ |
|
35809
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35487
diff
changeset
|
327 | PurpleImage * |
|
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
|
328 | 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
|
329 | |
|
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
|
330 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
331 | * purple_buddy_icons_set_account_icon: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
332 | * @account: The account for which to set a custom icon. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
333 | * @icon_data: The image data of the icon, which the |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
334 | * buddy icon code will free. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
335 | * @icon_len: The length of the data in @icon_data. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
336 | * |
|
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
|
337 | * 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
|
338 | * |
|
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
|
339 | * 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
|
340 | * 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
|
341 | * |
|
39738
14d425a528ad
Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
342 | * Returns: (transfer none): The icon that was set. |
|
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
|
343 | */ |
|
35809
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35487
diff
changeset
|
344 | PurpleImage * |
|
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
|
345 | 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
|
346 | 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
|
347 | |
|
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
|
348 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
349 | * purple_buddy_icons_get_account_icon_timestamp: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
350 | * @account: The account |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
351 | * |
|
16677
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
352 | * Returns the timestamp of when the icon was set. |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
353 | * |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
354 | * 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
|
355 | * buddy icon update reasons. |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
356 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
357 | * Returns: The time the icon was set, or 0 if an error occurred. |
|
16677
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
358 | */ |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
359 | time_t |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
360 | purple_buddy_icons_get_account_icon_timestamp(PurpleAccount *account); |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
361 | |
|
7cd57586cdbf
The OSCAR timestamp stuff.
Richard Laager <rlaager@pidgin.im>
parents:
16539
diff
changeset
|
362 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
363 | * purple_buddy_icons_node_has_custom_icon: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
364 | * @node: The blist node. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
365 | * |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
366 | * 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
|
367 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
368 | * Returns: A boolean indicating if @node has a custom buddy icon. |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
369 | */ |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
370 | gboolean |
|
34864
0e292d8887de
Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents:
34833
diff
changeset
|
371 | 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
|
372 | |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
373 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
374 | * purple_buddy_icons_node_find_custom_icon: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
375 | * @node: The node. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
376 | * |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
377 | * 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
|
378 | * |
|
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
379 | * 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
|
380 | * 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
|
381 | * 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
|
382 | * |
|
39738
14d425a528ad
Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
383 | * Returns: (transfer full): The custom buddy icon. |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
384 | */ |
|
35809
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35487
diff
changeset
|
385 | PurpleImage * |
|
34864
0e292d8887de
Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents:
34833
diff
changeset
|
386 | 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
|
387 | |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
388 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
389 | * purple_buddy_icons_node_set_custom_icon: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
390 | * @node: The blist node for which to set a custom icon. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
391 | * @icon_data: The image data of the icon, which the buddy icon code will |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
392 | * free. Use NULL to unset the icon. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
393 | * @icon_len: The length of the data in @icon_data. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
394 | * |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
395 | * 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
|
396 | * |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
397 | * 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
|
398 | * etc. |
|
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
399 | * |
|
39738
14d425a528ad
Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
400 | * Returns: (transfer none): The icon that was set. |
|
23283
93261f547412
Add the purple_buddy_icons_node_has_custom_icon,
Etan Reisner <deryni@pidgin.im>
parents:
22763
diff
changeset
|
401 | */ |
|
35809
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35487
diff
changeset
|
402 | PurpleImage * |
|
34864
0e292d8887de
Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents:
34833
diff
changeset
|
403 | 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
|
404 | 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
|
405 | |
|
23285
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
406 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
407 | * purple_buddy_icons_node_set_custom_icon_from_file: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
408 | * @node: The blist node for which to set a custom icon. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
409 | * @filename: The path to the icon to set for the blist node. Use NULL |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
410 | * to unset the custom icon. |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
411 | * |
|
23285
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
412 | * 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
|
413 | * |
|
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
414 | * Convenience wrapper around purple_buddy_icons_node_set_custom_icon. |
| 35471 | 415 | * See purple_buddy_icons_node_set_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
|
416 | * |
|
39738
14d425a528ad
Add missing transfer annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39659
diff
changeset
|
417 | * Returns: (transfer none): The icon that was set. |
|
23285
da6c923a5305
Add a purple_buddy_icons_node_set_custom_icon_from_file convenience function.
Etan Reisner <deryni@pidgin.im>
parents:
23283
diff
changeset
|
418 | */ |
|
35809
6dd40b244ce3
PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35487
diff
changeset
|
419 | PurpleImage * |
|
34864
0e292d8887de
Renamed PurpleBListNode back to PurpleBlistNode
Ankit Vani <a@nevitus.org>
parents:
34833
diff
changeset
|
420 | 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
|
421 | 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
|
422 | |
|
16437
7ff7c3405ea2
Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents:
16421
diff
changeset
|
423 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
424 | * purple_buddy_icons_set_caching: |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
425 | * @caching: TRUE if buddy icon caching should be enabled, or |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
426 | * FALSE otherwise. |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
427 | * |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
428 | * Sets whether or not buddy icon caching is enabled. |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
429 | */ |
| 15884 | 430 | void purple_buddy_icons_set_caching(gboolean caching); |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
431 | |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
432 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
433 | * purple_buddy_icons_is_caching: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
434 | * |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
435 | * Returns whether or not buddy icon caching should be enabled. |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
436 | * |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
437 | * The default is TRUE, unless otherwise specified by |
| 15884 | 438 | * purple_buddy_icons_set_caching(). |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
439 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
440 | * Returns: TRUE if buddy icon caching is enabled, or FALSE otherwise. |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
441 | */ |
| 15884 | 442 | gboolean purple_buddy_icons_is_caching(void); |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
443 | |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
444 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
445 | * purple_buddy_icons_set_cache_dir: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
446 | * @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
|
447 | * |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
448 | * Sets the directory used to store buddy icon cache files. |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
449 | */ |
| 15884 | 450 | 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
|
451 | |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
452 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
453 | * purple_buddy_icons_get_cache_dir: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
454 | * |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
455 | * Returns the directory used to store buddy icon cache files. |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
456 | * |
| 15884 | 457 | * The default directory is PURPLEDIR/icons, unless otherwise specified |
| 458 | * by purple_buddy_icons_set_cache_dir(). | |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
459 | * |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
460 | * Returns: The directory to store buddy icon cache files to. |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
461 | */ |
| 15884 | 462 | const char *purple_buddy_icons_get_cache_dir(void); |
|
6886
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
463 | |
|
97734a57c0f5
[gaim-migrate @ 7432]
Christian Hammond <chipx86@chipx86.com>
parents:
6869
diff
changeset
|
464 | /** |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
465 | * purple_buddy_icons_get_handle: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
466 | * |
| 6846 | 467 | * Returns the buddy icon subsystem handle. |
| 468 | * | |
|
35393
00f876b129bc
Initial replacements for gtk-doc style comments
Ankit Vani <a@nevitus.org>
parents:
34864
diff
changeset
|
469 | * Returns: The subsystem handle. |
| 6846 | 470 | */ |
| 15884 | 471 | void *purple_buddy_icons_get_handle(void); |
| 6846 | 472 | |
| 473 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
474 | * purple_buddy_icons_init: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
475 | * |
| 6846 | 476 | * Initializes the buddy icon subsystem. |
| 477 | */ | |
| 15884 | 478 | void purple_buddy_icons_init(void); |
| 6846 | 479 | |
| 480 | /** | |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
481 | * purple_buddy_icons_uninit: |
|
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
482 | * |
| 6846 | 483 | * Uninitializes the buddy icon subsystem. |
| 484 | */ | |
| 15884 | 485 | void purple_buddy_icons_uninit(void); |
| 6846 | 486 | |
| 10483 | 487 | /**************************************************************************/ |
| 37075 | 488 | /* Buddy Icon Spec API */ |
| 10483 | 489 | /**************************************************************************/ |
| 490 | ||
| 491 | /** | |
| 37040 | 492 | * purple_buddy_icon_spec_get_type: |
| 493 | * | |
| 37084 | 494 | * Returns: The #GType for the #PurpleBuddyIconSpec boxed structure. |
|
36624
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
495 | */ |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
496 | GType purple_buddy_icon_spec_get_type(void); |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
497 | |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
498 | /** |
| 37040 | 499 | * purple_buddy_icon_spec_new: |
|
37034
9d6765962b22
Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents:
37023
diff
changeset
|
500 | * @format: A comma-delimited list of image formats or %NULL if |
| 37040 | 501 | * icons are not supported |
|
37034
9d6765962b22
Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents:
37023
diff
changeset
|
502 | * @min_width: Minimum width of an icon |
|
9d6765962b22
Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents:
37023
diff
changeset
|
503 | * @min_height: Minimum height of an icon |
|
9d6765962b22
Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents:
37023
diff
changeset
|
504 | * @max_width: Maximum width of an icon |
|
9d6765962b22
Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents:
37023
diff
changeset
|
505 | * @max_height: Maximum height of an icon |
|
9d6765962b22
Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents:
37023
diff
changeset
|
506 | * @max_filesize: Maximum file size in bytes |
|
9d6765962b22
Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents:
37023
diff
changeset
|
507 | * @scale_rules: How to stretch this icon |
|
36624
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
508 | * |
| 37040 | 509 | * Creates a new #PurpleBuddyIconSpec instance. |
| 510 | * | |
|
37034
9d6765962b22
Initial replacements for this branch
Ankit Vani <a@nevitus.org>
parents:
37023
diff
changeset
|
511 | * Returns: A new buddy icon spec. |
|
36624
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
512 | */ |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
513 | PurpleBuddyIconSpec *purple_buddy_icon_spec_new(char *format, int min_width, |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
514 | int min_height, int max_width, int max_height, size_t max_filesize, |
|
37406
98ec68212b1f
Move PurpleIconScaleRules to BuddyIcon API
Jorge Villaseñor <salinasv@pidgin.im>
parents:
37134
diff
changeset
|
515 | PurpleBuddyIconScaleFlags scale_rules); |
|
36624
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
516 | |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
517 | /** |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
518 | * purple_buddy_icon_spec_free: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
519 | * @spec: The #PurpleBuddyIconSpec instance. |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
520 | * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
521 | * Frees @spec. |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
522 | * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
523 | * Since: 3.0.0 |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
524 | */ |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
525 | void purple_buddy_icon_spec_free(PurpleBuddyIconSpec *spec); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
526 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40810
diff
changeset
|
527 | /** |
| 37040 | 528 | * purple_buddy_icon_spec_get_scaled_size: |
|
40245
056a71665e06
Add a bunch of missing docs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39738
diff
changeset
|
529 | * @spec: The buddy icon spec. |
|
056a71665e06
Add a bunch of missing docs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39738
diff
changeset
|
530 | * @width: (inout): On input, the suggested width. On output, the width |
|
056a71665e06
Add a bunch of missing docs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39738
diff
changeset
|
531 | * constrained by the spec. |
|
056a71665e06
Add a bunch of missing docs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39738
diff
changeset
|
532 | * @height: (inout): On input, the suggested height. On output, the height |
|
056a71665e06
Add a bunch of missing docs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39738
diff
changeset
|
533 | * constrained by the spec. |
|
35397
31fa3a1aeff5
Move changes from soc.2013.gobjectification.gtkdoc to this branch
Ankit Vani <a@nevitus.org>
parents:
35393
diff
changeset
|
534 | * |
| 10483 | 535 | * Gets display size for a buddy icon |
| 536 | */ | |
|
36624
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
537 | void purple_buddy_icon_spec_get_scaled_size(PurpleBuddyIconSpec *spec, |
|
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36569
diff
changeset
|
538 | int *width, int *height); |
| 10483 | 539 | |
|
32787
7072f190d6ad
Use G_BEGIN/END_DECLS in public libpurple files. This was
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32305
diff
changeset
|
540 | G_END_DECLS |
|
14030
23144f1dc950
[gaim-migrate @ 16525]
Mark Doliner <markdoliner@pidgin.im>
parents:
12323
diff
changeset
|
541 | |
|
39659
e4dfb99b0cef
Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
37406
diff
changeset
|
542 | #endif /* PURPLE_BUDDYICON_H */ |