libpurple/image.h

Mon, 14 Apr 2014 22:03:13 +0200

author
Tomasz Wasilczyk <twasilczyk@pidgin.im>
date
Mon, 14 Apr 2014 22:03:13 +0200
changeset 35845
ea1c4f205efb
parent 35829
268931512478
child 35846
07dabf3c0022
permissions
-rw-r--r--

PurpleImage: fill comments

35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
1 /* purple
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
2 *
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
5 * source distribution.
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
6 *
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
11 *
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
16 *
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
20 */
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
21
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
22 #ifndef _PURPLE_IMAGE_H_
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
23 #define _PURPLE_IMAGE_H_
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
24 /**
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
25 * SECTION:image
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
26 * @include:image.h
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
27 * @section_id: libpurple-image
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
28 * @short_description: implementation-independent image data container
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
29 * @title: Images
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
30 *
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
31 * #PurpleImage object is a container for raw image data. It doesn't manipulate
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
32 * image data, just stores it in its binary format - png, jpeg etc. Thus, it's
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
33 * totally independent from the UI.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
34 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
35 * This class also provides certain file-related features, like: friendly
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
36 * filenames (not necessarily real filename for displaying); remote images
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
37 * (which data is not yet loaded) or guessing file format from its header.
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
38 */
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
39
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
40 #include <glib-object.h>
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
41
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
42 typedef struct _PurpleImage PurpleImage;
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
43 typedef struct _PurpleImageClass PurpleImageClass;
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
44
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
45 #define PURPLE_TYPE_IMAGE (purple_image_get_type())
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
46 #define PURPLE_IMAGE(smiley) (G_TYPE_CHECK_INSTANCE_CAST((smiley), PURPLE_TYPE_IMAGE, PurpleImage))
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
47 #define PURPLE_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_IMAGE, PurpleImageClass))
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
48 #define PURPLE_IS_IMAGE(smiley) (G_TYPE_CHECK_INSTANCE_TYPE((smiley), PURPLE_TYPE_IMAGE))
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
49 #define PURPLE_IS_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_IMAGE))
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
50 #define PURPLE_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_IMAGE, PurpleImageClass))
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
51
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
52 /**
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
53 * PurpleImage:
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
54 *
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
55 * An image data container.
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
56 */
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
57 struct _PurpleImage
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
58 {
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
59 /*< private >*/
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
60 GObject parent;
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
61 };
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
62
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
63 /**
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
64 * PurpleImageClass:
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
65 *
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
66 * Base class for #PurpleImage objects.
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
67 */
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
68 struct _PurpleImageClass
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
69 {
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
70 /*< private >*/
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
71 GObjectClass parent_class;
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
72
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
73 void (*purple_reserved1)(void);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
74 void (*purple_reserved2)(void);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
75 void (*purple_reserved3)(void);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
76 void (*purple_reserved4)(void);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
77 };
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
78
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
79 G_BEGIN_DECLS
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
80
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
81 /**
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
82 * purple_image_get_type:
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
83 *
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
84 * Returns: the #GType for an image.
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
85 */
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
86 GType
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
87 purple_image_get_type(void);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
88
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
89 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
90 * purple_image_new_from_file:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
91 * @path: the path to the image file.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
92 * @be_eager: %TRUE, if file should be loaded now, %FALSE when needed.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
93 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
94 * Loads an image file as a new #PurpleImage object. The @path must exists, be
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
95 * readable and should point to a valid image file. If you don't set @be_eager
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
96 * parameter, there will be a risk that file will be removed from disk before
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
97 * you access its data.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
98 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
99 * Returns: the new #PurpleImage.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
100 */
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
101 PurpleImage *
35802
a804a812858c PurpleImage: add be_eager param to purple_image_new_from_file
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35801
diff changeset
102 purple_image_new_from_file(const gchar *path, gboolean be_eager);
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
103
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
104 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
105 * purple_image_new_from_data:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
106 * @data: the pointer to the image data buffer.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
107 * @length: the length of @data.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
108 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
109 * Creates a new #PurpleImage object with contents of @data buffer.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
110 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
111 * The @data buffer is owned by #PurpleImage object, so you might want
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
112 * to #g_memdup it first.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
113 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
114 * Returns: the new #PurpleImage.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
115 */
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
116 PurpleImage *
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
117 purple_image_new_from_data(gpointer data, gsize length);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
118
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
119 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
120 * purple_image_save:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
121 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
122 * @path: destination of a saved image file.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
123 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
124 * Saves an @image to the disk.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
125 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
126 * Returns: %TRUE if succeeded, %FALSE otherwise.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
127 */
35809
6dd40b244ce3 PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35806
diff changeset
128 gboolean
6dd40b244ce3 PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35806
diff changeset
129 purple_image_save(PurpleImage *image, const gchar *path);
6dd40b244ce3 PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35806
diff changeset
130
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
131 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
132 * purple_image_get_path:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
133 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
134 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
135 * Returns the physical path of the @image file. It is set only, if the @image is
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
136 * really backed by an existing file. In the other case it returns %NULL.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
137 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
138 * Returns: the physical path of the @image, or %NULL.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
139 */
35801
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
140 const gchar *
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
141 purple_image_get_path(PurpleImage *image);
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
142
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
143 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
144 * purple_image_is_ready:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
145 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
146 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
147 * Checks, if the @image data is ready to be displayed. Remote image data may
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
148 * not be accessible at the moment, so you should check it before using
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
149 * #purple_image_get_data. If the image is not ready yet, you may wait for
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
150 * #PurpleImage::ready signal.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
151 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
152 * Returns: %TRUE, if the @image is ready.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
153 */
35801
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
154 gboolean
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
155 purple_image_is_ready(PurpleImage *image);
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
156
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
157 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
158 * purple_image_has_failed:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
159 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
160 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
161 * Checks, if the @image has failed to load its data. It can be caused either by
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
162 * a remote failure (and #purple_image_transfer_failed call) or local file being
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
163 * removed (see #purple_image_new_from_file).
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
164 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
165 * Returns: %TRUE, if the @image has failed to load.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
166 */
35801
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
167 gboolean
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
168 purple_image_has_failed(PurpleImage *image);
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
169
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
170 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
171 * purple_image_get_size:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
172 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
173 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
174 * Returns the size of @image's data.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
175 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
176 * Returns: the size of data, or 0 in case of failure.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
177 */
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
178 gsize
35806
49018c6bf755 Imgstore: implement with PurpleImage and purple_image_store
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35802
diff changeset
179 purple_image_get_size(PurpleImage *image);
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
180
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
181 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
182 * purple_image_get_data:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
183 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
184 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
185 * Returns the pointer to the buffer containing image data.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
186 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
187 * Returns: (transfer none): the @image data. You should not modify
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
188 * its contents.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
189 */
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
190 gpointer
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
191 purple_image_get_data(PurpleImage *image);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
192
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
193 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
194 * purple_image_get_extension:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
195 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
196 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
197 * Guesses the @image format based on its contents.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
198 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
199 * Returns: (transfer none): the file extension suitable for @image format.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
200 */
35801
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
201 const gchar *
35809
6dd40b244ce3 PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35806
diff changeset
202 purple_image_get_extension(PurpleImage *image);
35801
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
203
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
204 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
205 * purple_image_get_mimetype:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
206 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
207 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
208 * Guesses the @image mime-type based on its contents.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
209 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
210 * Returns: (transfer none): the mime-type suitable for @image format.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
211 */
35801
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
212 const gchar *
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
213 purple_image_get_mimetype(PurpleImage *image);
9cdf2c4d5a7a PurpleImage: extension and mime type retrieval
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35800
diff changeset
214
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
215 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
216 * purple_image_generate_filename:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
217 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
218 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
219 * Calculates almost-unique filename by computing checksum from file contents
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
220 * and appending a suitable extension. You should not assume the checksum
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
221 * is SHA-1, because it may change in the future.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
222 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
223 * Returns: (transfer none): the generated file name.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
224 */
35809
6dd40b244ce3 PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35806
diff changeset
225 const gchar *
6dd40b244ce3 PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35806
diff changeset
226 purple_image_generate_filename(PurpleImage *image);
6dd40b244ce3 PurpleImage: convert buddyicon.c
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35806
diff changeset
227
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
228 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
229 * purple_image_set_friendly_filename:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
230 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
231 * @filename: the friendly filename.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
232 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
233 * Sets the "friendly filename" for the @image. This don't have to be a real
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
234 * name, because it's used for displaying or as a default file name when the
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
235 * user wants to save the @image to the disk.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
236 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
237 * The provided @filename may either be a full path, or contain
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
238 * filesystem-unfriendly characters, because it will be reformatted.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
239 */
35819
cc375b914104 imgstore: remove refs from gg prpl
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35809
diff changeset
240 void
cc375b914104 imgstore: remove refs from gg prpl
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35809
diff changeset
241 purple_image_set_friendly_filename(PurpleImage *image, const gchar *filename);
cc375b914104 imgstore: remove refs from gg prpl
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35809
diff changeset
242
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
243 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
244 * purple_image_get_friendly_filename:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
245 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
246 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
247 * Returns the "friendly filename" for the @image, to be displayed or used as
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
248 * a default name when saving a file to the disk.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
249 * See #purple_image_set_friendly_filename.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
250 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
251 * If the friendly filename was not set, it will be generated with
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
252 * #purple_image_generate_filename.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
253 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
254 * Returns: (transfer none): the friendly filename.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
255 */
35829
268931512478 imgstore: unref oscar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35819
diff changeset
256 const gchar *
268931512478 imgstore: unref oscar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35819
diff changeset
257 purple_image_get_friendly_filename(PurpleImage *image);
268931512478 imgstore: unref oscar
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35819
diff changeset
258
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
259 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
260 * purple_image_transfer_new:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
261 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
262 * Creates a new remote image, with a possibility to load data with
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
263 * #purple_image_transfer_write and #purple_image_transfer_close. In case of
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
264 * failure, you should call #urple_image_transfer_failed.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
265 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
266 * Returns: the new image object.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
267 */
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
268 PurpleImage *
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
269 purple_image_transfer_new(void);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
270
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
271 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
272 * purple_image_transfer_write:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
273 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
274 * @data: the incoming data buffer.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
275 * @length: the length of @data.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
276 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
277 * Adds a chunk of data to the internal receive buffer. Called when receiving
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
278 * a remote file.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
279 */
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
280 void
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
281 purple_image_transfer_write(PurpleImage *image, const gpointer data,
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
282 gsize length);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
283
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
284 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
285 * purple_image_transfer_close:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
286 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
287 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
288 * Marks a remote @image as ready to be displayed. Called when finishing
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
289 * transfer of remote file. You may call this only once for a certain @image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
290 */
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
291 void
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
292 purple_image_transfer_close(PurpleImage *image);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
293
35845
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
294 /**
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
295 * purple_image_transfer_failed:
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
296 * @image: the image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
297 *
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
298 * Marks a remote @image as failed to transfer. Called on error in remote file
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
299 * transfer. You may call this only once for a certain @image.
ea1c4f205efb PurpleImage: fill comments
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35829
diff changeset
300 */
35800
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
301 void
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
302 purple_image_transfer_failed(PurpleImage *image);
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
303
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
304 G_END_DECLS
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
305
2c21828e7442 PurpleImage: initial implementation
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
306 #endif /* _PURPLE_IMAGE_H_ */

mercurial