libpurple/protocols/facebook/data.h

Thu, 03 Dec 2020 04:34:04 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 03 Dec 2020 04:34:04 -0600
changeset 40634
4d3018b00ad4
parent 40412
c0905847d779
child 41122
f29fa0dda4bf
permissions
-rw-r--r--

Fix the PurpleProtocolClient interface and split it out to its own file.

Testing Done:
Compile and unit tests.

Reviewed at https://reviews.imfreedom.org/r/193/

37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
1 /* purple
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
2 *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
5 * source distribution.
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
6 *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
10 * (at your option) any later version.
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
11 *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
15 * GNU General Public License for more details.
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
16 *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
20 */
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
21
39819
3554dac2991b Standardize all protocol header guard macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39550
diff changeset
22 #ifndef PURPLE_FACEBOOK_DATA_H
3554dac2991b Standardize all protocol header guard macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39550
diff changeset
23 #define PURPLE_FACEBOOK_DATA_H
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
24
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
25 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
26 * SECTION:data
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
27 * @section_id: facebook-data
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
28 * @short_description: <filename>data.h</filename>
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
29 * @title: Connection Data
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
30 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
31 * The Connection Data.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
32 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
33
37309
556eea7a45da facebook: merged local glibcompat.h into libpurple's
James Geboski <jgeboski@gmail.com>
parents: 37291
diff changeset
34 #include <glib.h>
556eea7a45da facebook: merged local glibcompat.h into libpurple's
James Geboski <jgeboski@gmail.com>
parents: 37291
diff changeset
35
40358
e6fe6fc1f516 move all protocols, purple plugins, and purple tests to use purple.h instead of including files individually
Gary Kramlich <grim@reaperworld.com>
parents: 40030
diff changeset
36 #include <purple.h>
37310
a1a5f0ac39f2 facebook: cleaned up libpurple includes
James Geboski <jgeboski@gmail.com>
parents: 37309
diff changeset
37
37338
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
38 #include "api.h"
37310
a1a5f0ac39f2 facebook: cleaned up libpurple includes
James Geboski <jgeboski@gmail.com>
parents: 37309
diff changeset
39 #include "http.h"
37343
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
40 #include "id.h"
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
41
39550
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
42 #define FB_TYPE_DATA fb_data_get_type()
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
43 #define FB_TYPE_DATA_IMAGE fb_data_image_get_type()
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
44
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
45 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
46 * FB_DATA_ICON_MAX:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
47 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
48 * The maximum of number of concurrent icon fetches.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
49 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
50 #define FB_DATA_ICON_MAX 4
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
51
39271
5fd417ab577b facebook: Limit received images to 10MiB
Mike Ruprecht <cmaiku@gmail.com>
parents: 37948
diff changeset
52 /**
5fd417ab577b facebook: Limit received images to 10MiB
Mike Ruprecht <cmaiku@gmail.com>
parents: 37948
diff changeset
53 * FB_DATA_ICON_SIZE_MAX:
5fd417ab577b facebook: Limit received images to 10MiB
Mike Ruprecht <cmaiku@gmail.com>
parents: 37948
diff changeset
54 *
5fd417ab577b facebook: Limit received images to 10MiB
Mike Ruprecht <cmaiku@gmail.com>
parents: 37948
diff changeset
55 * The maximum size of a fetched icon.
5fd417ab577b facebook: Limit received images to 10MiB
Mike Ruprecht <cmaiku@gmail.com>
parents: 37948
diff changeset
56 */
5fd417ab577b facebook: Limit received images to 10MiB
Mike Ruprecht <cmaiku@gmail.com>
parents: 37948
diff changeset
57 #define FB_DATA_ICON_SIZE_MAX 0xa00000 /* 10MiB */
5fd417ab577b facebook: Limit received images to 10MiB
Mike Ruprecht <cmaiku@gmail.com>
parents: 37948
diff changeset
58
39550
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
59 /**
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
60 * fb_data_get_type:
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
61 *
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
62 * Returns: The #GType for an #FbData.
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
63 */
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
64 G_DECLARE_FINAL_TYPE(FbData, fb_data, FB, DATA, GObject)
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
65
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
66 /**
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
67 * fb_data_image_get_type:
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
68 *
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
69 * Returns: The #GType for an #FbDataImage.
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
70 */
808e0a11eb9f Use G_DECLARE* in facebook prpl.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39271
diff changeset
71 G_DECLARE_FINAL_TYPE(FbDataImage, fb_data_image, FB, DATA_IMAGE, GObject)
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
72
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
73 /**
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
74 * FbDataImageFunc:
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
75 * @img: The #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
76 * @error: The #GError or #NULL.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
77 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
78 * The callback for a fetched #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
79 */
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
80 typedef void (*FbDataImageFunc) (FbDataImage *img, GError *error);
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
81
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
82 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
83 * fb_data_new:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
84 * @gc: The #PurpleConnection.
40030
1827a7e715e0 Pass correct proxy resolver to Facebook soup session.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39819
diff changeset
85 * @resolver: The proxy resolver to use from the account.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
86 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
87 * Creates a new #FbData. The returned #FbData should be freed with
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
88 * #g_object_unref() when no longer needed.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
89 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
90 * Returns: The new #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
91 */
40030
1827a7e715e0 Pass correct proxy resolver to Facebook soup session.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39819
diff changeset
92 FbData *fb_data_new(PurpleConnection *gc, GProxyResolver *resolver);
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
93
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
94 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
95 * fb_data_load:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
96 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
97 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
98 * Loads the internal data from the underlying #PurpleAccount.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
99 *
37473
9fd3018c170f facebook: trivial GTK-Doc fixes
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
100 * Return: #TRUE if all of the data was loaded, otherwise #FALSE.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
101 */
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
102 gboolean
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
103 fb_data_load(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
104
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
105 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
106 * fb_data_save:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
107 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
108 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
109 * Saves the internal data to the underlying #PurpleAccount.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
110 */
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
111 void
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
112 fb_data_save(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
113
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
114 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
115 * fb_data_add_timeout:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
116 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
117 * @name: The name of the timeout.
40412
c0905847d779 Use g_timeout_add_seconds some more.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40358
diff changeset
118 * @interval: The time, in seconds, between calls to @func.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
119 * @func: The #GSourceFunc.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
120 * @data: The data passed to @func.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
121 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
122 * Adds a new callback timer. The callback is called repeatedly on the
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
123 * basis of @interval, until @func returns #FALSE. The timeout should
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
124 * be cleared with #fb_data_clear_timeout() when no longer needed.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
125 */
37342
acae53caaff0 facebook: periodically refetch the contact list for updates
James Geboski <jgeboski@gmail.com>
parents: 37338
diff changeset
126 void
37343
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
127 fb_data_add_timeout(FbData *fata, const gchar *name, guint interval,
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
128 GSourceFunc func, gpointer data);
37342
acae53caaff0 facebook: periodically refetch the contact list for updates
James Geboski <jgeboski@gmail.com>
parents: 37338
diff changeset
129
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
130 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
131 * fb_data_clear_timeout:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
132 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
133 * @name: The name of the timeout.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
134 * @remove: #TRUE to remove from the event loop, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
135 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
136 * Clears and removes a callback timer. The only time @remove should be
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
137 * #FALSE, is when being called from a #GSourceFunc, which is returning
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
138 * #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
139 */
37342
acae53caaff0 facebook: periodically refetch the contact list for updates
James Geboski <jgeboski@gmail.com>
parents: 37338
diff changeset
140 void
37343
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
141 fb_data_clear_timeout(FbData *fata, const gchar *name, gboolean remove);
37342
acae53caaff0 facebook: periodically refetch the contact list for updates
James Geboski <jgeboski@gmail.com>
parents: 37338
diff changeset
142
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
143 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
144 * fb_data_get_api:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
145 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
146 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
147 * Gets the #FbApi from the #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
148 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
149 * Return: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
150 */
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
151 FbApi *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
152 fb_data_get_api(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
153
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
154 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
155 * fb_data_get_connection:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
156 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
157 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
158 * Gets the #PurpleConnection from the #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
159 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
160 * Return: The #PurpleConnection.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
161 */
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
162 PurpleConnection *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
163 fb_data_get_connection(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
164
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
165 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
166 * fb_data_get_roomlist:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
167 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
168 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
169 * Gets the #PurpleRoomlist from the #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
170 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
171 * Return: The #PurpleRoomlist.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
172 */
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
173 PurpleRoomlist *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
174 fb_data_get_roomlist(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
175
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
176 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
177 * fb_data_get_unread:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
178 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
179 * @id: The #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
180 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
181 * Gets the unread state of an #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
182 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
183 * Return: #TRUE if the #FbId is unread, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
184 */
37343
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
185 gboolean
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
186 fb_data_get_unread(FbData *fata, FbId id);
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
187
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
188 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
189 * fb_data_set_roomlist:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
190 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
191 * @list: The #PurpleRoomlist.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
192 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
193 * Sets the #PurpleRoomlist to the #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
194 */
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
195 void
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
196 fb_data_set_roomlist(FbData *fata, PurpleRoomlist *list);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
197
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
198 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
199 * fb_data_set_unread:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
200 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
201 * @id: The #FbId.
37473
9fd3018c170f facebook: trivial GTK-Doc fixes
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
202 * @unread: #TRUE if the #FbId is unread, otherwise #FALSE.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
203 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
204 * Sets the unread state of an #FbId to the #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
205 */
37338
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
206 void
37343
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
207 fb_data_set_unread(FbData *fata, FbId id, gboolean unread);
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
208
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
209 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
210 * fb_data_add_message:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
211 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
212 * @msg: The #FbApiMessage.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
213 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
214 * Adds an #FbApiMessage to the #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
215 */
37343
3e818c95dfd9 facebook: mark as read only if the conversation is focused
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
216 void
37338
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
217 fb_data_add_message(FbData *fata, FbApiMessage *msg);
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
218
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
219 /**
37364
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
220 * fb_data_remove_message:
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
221 * @fata: The #FbData.
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
222 * @msg: The #FbApiMessage.
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
223 *
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
224 * Removes an #FbApiMessage from the #FbData.
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
225 */
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
226 void
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
227 fb_data_remove_message(FbData *fata, FbApiMessage *msg);
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
228
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
229 /**
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
230 * fb_data_take_messages:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
231 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
232 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
233 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
234 * Gets a #GSList of messages by the user #FbId from the #FbData. The
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
235 * #FbApiMessage's are removed from the #FbData. The returned #GSList
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
236 * and its #FbApiMessage's should be freed with #fb_api_message_free()
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
237 * and #g_slist_free_full() when no longer needed.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
238 */
37338
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
239 GSList *
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
240 fb_data_take_messages(FbData *fata, FbId uid);
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
241
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
242 /**
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
243 * fb_data_image_add:
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
244 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
245 * @url: The image URL.
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
246 * @func: The #FbDataImageFunc.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
247 * @data: The user-defined data.
37560
92885e0456ed facebook: fixed a crash with incoming messages from non-friends
James Geboski <jgeboski@gmail.com>
parents: 37473
diff changeset
248 * @dunc: The #GDestroyNotify for @data or #NULL.
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
249 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
250 * Adds a new #FbDataImage to the #FbData. This is used to fetch images
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
251 * from HTTP sources. After calling this, #fb_data_image_queue() should
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
252 * be called to queue the fetching process.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
253 *
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
254 * Return: The #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
255 */
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
256 FbDataImage *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
257 fb_data_image_add(FbData *fata, const gchar *url, FbDataImageFunc func,
37560
92885e0456ed facebook: fixed a crash with incoming messages from non-friends
James Geboski <jgeboski@gmail.com>
parents: 37473
diff changeset
258 gpointer data, GDestroyNotify dunc);
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
259
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
260 /**
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
261 * fb_data_image_get_active:
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
262 * @img: The #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
263 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
264 * Gets the active fetching state from the #FbDataImage.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
265 *
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
266 * Returns: #TRUE if the image is being fetched, otherwise #FALSE.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
267 */
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
268 gboolean
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
269 fb_data_image_get_active(FbDataImage *img);
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
270
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
271 /**
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
272 * fb_data_image_get_data:
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
273 * @img: The #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
274 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
275 * Gets the user-defined data from the #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
276 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
277 * Returns: The user-defined data.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
278 */
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
279 gpointer
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
280 fb_data_image_get_data(FbDataImage *img);
37276
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
281
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
282 /**
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
283 * fb_data_image_get_fata:
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
284 * @img: The #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
285 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
286 * Gets the #FbData from the #FbDataImage.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
287 *
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
288 * Returns: The #FbData.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
289 */
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
290 FbData *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
291 fb_data_image_get_fata(FbDataImage *img);
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
292
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
293 /**
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
294 * fb_data_image_get_image:
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
295 * @img: The #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
296 * @size: The return location for the image size or #NULL.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
297 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
298 * Gets the image data from the #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
299 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
300 * Returns: The image data.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
301 */
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
302 const guint8 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
303 fb_data_image_get_image(FbDataImage *img, gsize *size);
37276
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
304
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
305 /**
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
306 * fb_data_image_dup_image:
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
307 * @img: The #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
308 * @size: The return location for the image size or #NULL.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
309 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
310 * Gets the duplicated image data from the #FbDataImage. The returned
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
311 * data should be freed with #g_free() when no longer needed.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
312 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
313 * Returns: The duplicated image data.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
314 */
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
315 guint8 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
316 fb_data_image_dup_image(FbDataImage *img, gsize *size);
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
317
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
318 /**
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
319 * fb_data_image_get_url:
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
320 * @img: The #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
321 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
322 * Gets the image URL from the #FbDataImage.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
323 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
324 * Returns: The image URL.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
325 */
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
326 const gchar *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
327 fb_data_image_get_url(FbDataImage *img);
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
328
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
329 /**
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
330 * fb_data_image_queue:
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
331 * @fata: The #FbData.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
332 *
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
333 * Queues the next #FbDataImage fetches.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37343
diff changeset
334 */
37276
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
335 void
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
336 fb_data_image_queue(FbData *fata);
37276
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
337
39819
3554dac2991b Standardize all protocol header guard macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39550
diff changeset
338 #endif /* PURPLE_FACEBOOK_DATA_H */

mercurial