Sun, 21 Jun 2020 04:16:15 -0500
Make it so only libpurple can directly include libpurple header files.
This is part of our on going effort to make it easier to develop against libpurple as well as making our filenames not part of our api.
Make it so only libpurple can directly include libpurple header files.
Testing Done:
Just a normal compile to make sure everything builds again.
Reviewed at https://reviews.imfreedom.org/r/8/
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
1 | /* purple |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
2 | * |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
3 | * Purple is the legal property of its developers, whose names are too numerous |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
4 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
5 | * source distribution. |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
6 | * |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
7 | * This program is free software; you can redistribute it and/or modify |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
8 | * it under the terms of the GNU General Public License as published by |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
9 | * the Free Software Foundation; either version 2 of the License, or |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
10 | * (at your option) any later version. |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
11 | * |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
12 | * This program is distributed in the hope that it will be useful, |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
15 | * GNU General Public License for more details. |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
16 | * |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
17 | * You should have received a copy of the GNU General Public License |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
18 | * along with this program; if not, write to the Free Software |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
20 | */ |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
21 | |
|
40474
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
39659
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:
39659
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:
39659
diff
changeset
|
24 | #endif |
|
1341be8e3402
Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents:
39659
diff
changeset
|
25 | |
|
39659
e4dfb99b0cef
Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
35845
diff
changeset
|
26 | #ifndef PURPLE_IMAGE_STORE_H |
|
e4dfb99b0cef
Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
35845
diff
changeset
|
27 | #define PURPLE_IMAGE_STORE_H |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
28 | /** |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
29 | * SECTION:image-store |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
30 | * @include:image-store.h |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
31 | * @section_id: libpurple-image-store |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
32 | * @short_description: a global, temporary storage for images |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
33 | * @title: Image store |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
34 | * |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
35 | * Image store references #PurpleImage's by a simple integer value. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
36 | * It's a convenient way to embed images in HTML-like strings. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
37 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
38 | * Integer ID's are tracked for being valid - when a image is destroyed, it's |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
39 | * also removed from the store. If the application runs for a very long time and |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
40 | * all possible id numbers from integer range are utilized, it will use |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
41 | * previously released numbers. |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
42 | */ |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
43 | |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
44 | #include "image.h" |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
45 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
46 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
47 | * PURPLE_IMAGE_STORE_PROTOCOL: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
48 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
49 | * A global URI prefix for images stored in this subsystem. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
50 | */ |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
51 | #define PURPLE_IMAGE_STORE_PROTOCOL "purple-image:" |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
52 | |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
53 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
54 | * PURPLE_IMAGE_STORE_STOCK_PROTOCOL: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
55 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
56 | * A global URI prefix for stock images, with names defined by libpurple and |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
57 | * contents defined by the UI. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
58 | */ |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
59 | #define PURPLE_IMAGE_STORE_STOCK_PROTOCOL "purple-stock-image:" |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
60 | |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
61 | G_BEGIN_DECLS |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
62 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
63 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
64 | * purple_image_store_add: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
65 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
66 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
67 | * Permanently adds an image to the store. If the @image is already in the |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
68 | * store, it will return its current id. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
69 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
70 | * This function increases @image's reference count, so it won't be destroyed |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
71 | * until image store subsystem is shut down. Don't decrease @image's reference |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
72 | * count by yourself - if you don't want the store to hold the reference, |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
73 | * use #purple_image_store_add_weak. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
74 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
75 | * Returns: the unique identifier for the @image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
76 | */ |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
77 | guint |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
78 | purple_image_store_add(PurpleImage *image); |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
79 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
80 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
81 | * purple_image_store_add_weak: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
82 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
83 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
84 | * Adds an image to the store without increasing reference count. It will be |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
85 | * removed from the store when @image gets destroyed. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
86 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
87 | * If the @image is already in the store, it will return its current id. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
88 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
89 | * Returns: the unique identifier for the @image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
90 | */ |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
91 | guint |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
92 | purple_image_store_add_weak(PurpleImage *image); |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
93 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
94 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
95 | * purple_image_store_add_temporary: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
96 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
97 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
98 | * Adds an image to the store to be used in a short period of time. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
99 | * If the @image is already in the store, it will just return its current id. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
100 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
101 | * Increases reference count for the @image for a time long enough to display |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
102 | * the @image by the UI. In current implementation it's five seconds, but may be |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
103 | * changed in the future, so if you need more sophisticated reference |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
104 | * management, implement it on your own. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
105 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
106 | * Returns: the unique identifier for the @image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
107 | */ |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
108 | guint |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
109 | purple_image_store_add_temporary(PurpleImage *image); |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
110 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
111 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
112 | * purple_image_store_get: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
113 | * @id: the unique identifier of an image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
114 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
115 | * Finds the image with a certain identifier within a store. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
116 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
117 | * Returns: (transfer none): the image referenced by @id, or %NULL if it |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
118 | * doesn't exists. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
119 | */ |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
120 | PurpleImage * |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
121 | purple_image_store_get(guint id); |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
122 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
123 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
124 | * purple_image_store_get_from_uri: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
125 | * @uri: the URI of a potential #PurpleImage. Should not be %NULL. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
126 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
127 | * Checks, if the @uri is pointing to any #PurpleImage by referring |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
128 | * to #PURPLE_IMAGE_STORE_PROTOCOL and returns the image, if it's valid. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
129 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
130 | * The function doesn't throw any warning, if the @uri is for any |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
131 | * other protocol. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
132 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
133 | * Returns: (transfer none): the image referenced by @uri, or %NULL if it |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
134 | * doesn't point to any valid image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
135 | */ |
|
35830
fb32647ef2f3
PurpleImage: better reference management
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35803
diff
changeset
|
136 | PurpleImage * |
|
fb32647ef2f3
PurpleImage: better reference management
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35803
diff
changeset
|
137 | purple_image_store_get_from_uri(const gchar *uri); |
|
fb32647ef2f3
PurpleImage: better reference management
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35803
diff
changeset
|
138 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
139 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
140 | * purple_image_store_get_uri: |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
141 | * @image: the image. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
142 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
143 | * Generates an URI for the @image, to be retrieved using |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
144 | * #purple_image_store_get_from_uri. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
145 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
146 | * Returns: (transfer full): the URI for the @image. Should be #g_free'd when |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
147 | * you done using it. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
148 | */ |
|
35838
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35830
diff
changeset
|
149 | gchar * |
|
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35830
diff
changeset
|
150 | purple_image_store_get_uri(PurpleImage *image); |
|
64f331a1eaa0
Drop remote smileys in favor of remote images
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35830
diff
changeset
|
151 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
152 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
153 | * _purple_image_store_init: (skip) |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
154 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
155 | * Initializes the image store subsystem. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
156 | */ |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
157 | void |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
158 | _purple_image_store_init(void); |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
159 | |
|
35845
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
160 | /** |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
161 | * _purple_image_store_uninit: (skip) |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
162 | * |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
163 | * Uninitializes the image store subsystem. |
|
ea1c4f205efb
PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
35838
diff
changeset
|
164 | */ |
|
35803
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
165 | void |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
166 | _purple_image_store_uninit(void); |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
167 | |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
168 | G_END_DECLS |
|
caa6f35efd7a
Image store: very initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff
changeset
|
169 | |
|
39659
e4dfb99b0cef
Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
35845
diff
changeset
|
170 | #endif /* PURPLE_IMAGE_STORE_H */ |