libpurple/protocols/facebook/api.h

Sat, 24 Jun 2017 23:08:09 -0300

author
dx <dx@dxzone.com.ar>
date
Sat, 24 Jun 2017 23:08:09 -0300
changeset 38386
852ce119c395
parent 38385
2b5c96a9dd53
child 38392
f2ec33df3b4a
permissions
-rw-r--r--

facebook: Add new ThreadListQuery-like hash, for initial seq id only

This hash represents a graphql query cached in the server. We were using
an old version of the hash that broke for some reason, possibly related
to the fact that fb messenger versions older than 5 are being
discontinued. For reference, the oldest parts of the plugin were written
when 4 was the latest version, most parts are updated to 33 or 38, and
the newest parts are based on 100 or so.

Thanks EionRobb for coming up with this fix

37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
1 /* purple
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
2 *
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
5 * source distribution.
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
6 *
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
10 * (at your option) any later version.
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
11 *
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
15 * GNU General Public License for more details.
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
16 *
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
20 */
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
21
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
22 #ifndef _FACEBOOK_API_H_
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
23 #define _FACEBOOK_API_H_
3f5570a17b15 facebook: initial import of bitlbee-facebook
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: 37342
diff changeset
25 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
26 * SECTION:api
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
27 * @section_id: facebook-api
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
28 * @short_description: <filename>api.h</filename>
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
29 * @title: Facebook API
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
30 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
31 * The API for interacting with the Facebook Messenger protocol.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
32 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
33
37310
a1a5f0ac39f2 facebook: cleaned up libpurple includes
James Geboski <jgeboski@gmail.com>
parents: 37309
diff changeset
34 #include "internal.h"
a1a5f0ac39f2 facebook: cleaned up libpurple includes
James Geboski <jgeboski@gmail.com>
parents: 37309
diff changeset
35
37309
556eea7a45da facebook: merged local glibcompat.h into libpurple's
James Geboski <jgeboski@gmail.com>
parents: 37306
diff changeset
36 #include <glib.h>
556eea7a45da facebook: merged local glibcompat.h into libpurple's
James Geboski <jgeboski@gmail.com>
parents: 37306
diff changeset
37
37310
a1a5f0ac39f2 facebook: cleaned up libpurple includes
James Geboski <jgeboski@gmail.com>
parents: 37309
diff changeset
38 #include "connection.h"
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
39
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
40 #include "http.h"
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
41 #include "id.h"
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
42 #include "mqtt.h"
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
43
37359
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37357
diff changeset
44 #define FB_TYPE_API (fb_api_get_type())
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37357
diff changeset
45 #define FB_API(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), FB_TYPE_API, FbApi))
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37357
diff changeset
46 #define FB_API_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), FB_TYPE_API, FbApiClass))
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37357
diff changeset
47 #define FB_IS_API(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), FB_TYPE_API))
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
48 #define FB_IS_API_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), FB_TYPE_API))
37359
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37357
diff changeset
49 #define FB_API_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), FB_TYPE_API, FbApiClass))
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
50
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
51 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
52 * FB_API_AHOST:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
53 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
54 * The HTTP host for the Facebook API.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
55 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
56 #define FB_API_AHOST "https://api.facebook.com"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
57
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
58 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
59 * FB_API_BHOST:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
60 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
61 * The HTTP host for the Facebook BAPI.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
62 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
63 #define FB_API_BHOST "https://b-api.facebook.com"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
64
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
65 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
66 * FB_API_GHOST:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
67 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
68 * The HTTP host for the Facebook Graph API.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
69 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
70 #define FB_API_GHOST "https://graph.facebook.com"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
71
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
72 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
73 * FB_API_WHOST:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
74 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
75 * The HTTP host for the Facebook website.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
76 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
77 #define FB_API_WHOST "https://www.facebook.com"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
78
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
79 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
80 * FB_API_KEY:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
81 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
82 * The Facebook API key.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
83 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
84 #define FB_API_KEY "256002347743983"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
85
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
86 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
87 * FB_API_SECRET:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
88 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
89 * The Facebook API secret.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
90 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
91 #define FB_API_SECRET "374e60f8b9bb6b8cbb30f78030438895"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
92
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
93 /**
38385
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
94 * FB_ORCA_AGENT
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
95 *
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
96 * The part of the user agent that looks like the official client, since the
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
97 * server started checking this.
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
98 */
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
99
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
100 #define FB_ORCA_AGENT "[FBAN/Orca-Android;FBAV/109.0.0.17.70;FBPN/com.facebook.orca;FBLC/en_US;FBBV/52182662]"
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
101
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
102 /**
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
103 * FB_API_AGENT:
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
104 *
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
105 * The HTTP User-Agent header.
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
106 */
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
107 #define FB_API_AGENT "Facebook plugin / Purple / 0.9.5 " FB_ORCA_AGENT
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
108
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
109 /**
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
110 * FB_API_MQTT_AGENT
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
111 *
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
112 * The client information string sent in the MQTT CONNECT message
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
113 */
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
114
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
115 #define FB_API_MQTT_AGENT FB_API_AGENT
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
116
2b5c96a9dd53 facebook: Send user agent strings in all HTTP requests and in MQTT connect
dx <dx@dxzone.com.ar>
parents: 38185
diff changeset
117 /**
37370
2d832af0f400 facebook: fetch URLs for all messages attachments
James Geboski <jgeboski@gmail.com>
parents: 37369
diff changeset
118 * FB_API_URL_ATTACH:
2d832af0f400 facebook: fetch URLs for all messages attachments
James Geboski <jgeboski@gmail.com>
parents: 37369
diff changeset
119 *
2d832af0f400 facebook: fetch URLs for all messages attachments
James Geboski <jgeboski@gmail.com>
parents: 37369
diff changeset
120 * The URL for attachment URL requests.
2d832af0f400 facebook: fetch URLs for all messages attachments
James Geboski <jgeboski@gmail.com>
parents: 37369
diff changeset
121 */
2d832af0f400 facebook: fetch URLs for all messages attachments
James Geboski <jgeboski@gmail.com>
parents: 37369
diff changeset
122 #define FB_API_URL_ATTACH FB_API_AHOST "/method/messaging.getAttachment"
2d832af0f400 facebook: fetch URLs for all messages attachments
James Geboski <jgeboski@gmail.com>
parents: 37369
diff changeset
123 //#define FB_API_URL_ATTACH FB_API_AHOST "/method/messaging.attachmentRedirect"
2d832af0f400 facebook: fetch URLs for all messages attachments
James Geboski <jgeboski@gmail.com>
parents: 37369
diff changeset
124
2d832af0f400 facebook: fetch URLs for all messages attachments
James Geboski <jgeboski@gmail.com>
parents: 37369
diff changeset
125 /**
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
126 * FB_API_URL_AUTH:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
127 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
128 * The URL for authentication requests.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
129 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
130 #define FB_API_URL_AUTH FB_API_BHOST "/method/auth.login"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
131
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
132 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
133 * FB_API_URL_GQL:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
134 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
135 * The URL for GraphQL requests.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
136 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
137 #define FB_API_URL_GQL FB_API_GHOST "/graphql"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
138
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
139 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
140 * FB_API_URL_MESSAGES:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
141 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
142 * The URL for linking message threads.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
143 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
144 #define FB_API_URL_MESSAGES FB_API_WHOST "/messages"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
145
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
146 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
147 * FB_API_URL_PARTS:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
148 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
149 * The URL for participant management requests.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
150 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
151 #define FB_API_URL_PARTS FB_API_GHOST "/participants"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
152
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
153 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
154 * FB_API_URL_THREADS:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
155 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
156 * The URL for thread management requests.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
157 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
158 #define FB_API_URL_THREADS FB_API_GHOST "/me/threads"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
159
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
160 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
161 * FB_API_URL_TOPIC:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
162 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
163 * The URL for thread topic requests.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
164 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
165 #define FB_API_URL_TOPIC FB_API_AHOST "/method/messaging.setthreadname"
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
166
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
167 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
168 * FB_API_QUERY_CONTACT:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
169 *
37381
8e23ae2d2ef6 facebook: fixed the contact query not fetching non-users
James Geboski <jgeboski@gmail.com>
parents: 37380
diff changeset
170 * The query hash for the `UsersQuery`.
37513
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
171 *
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
172 * Key mapping:
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
173 * 0: user_fbids
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
174 * 1: include_full_user_info
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
175 * 2: profile_pic_large_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
176 * 3: profile_pic_medium_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
177 * 4: profile_pic_small_size
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
178 */
37381
8e23ae2d2ef6 facebook: fixed the contact query not fetching non-users
James Geboski <jgeboski@gmail.com>
parents: 37380
diff changeset
179 #define FB_API_QUERY_CONTACT 10153915107411729
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
180
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
181 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
182 * FB_API_QUERY_CONTACTS:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
183 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
184 * The query hash for the `FetchContactsFullQuery`.
37513
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
185 *
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
186 * Key mapping:
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
187 * 0: profile_types
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
188 * 1: limit
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
189 * 2: big_img_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
190 * 3: huge_img_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
191 * 4: small_img_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
192 * 5: low_res_cover_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
193 * 6: media_type
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
194 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
195 #define FB_API_QUERY_CONTACTS 10153856456271729
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
196
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
197 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
198 * FB_API_QUERY_CONTACTS_AFTER:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
199 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
200 * The query hash for the `FetchContactsFullWithAfterQuery`.
37513
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
201 *
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
202 * Key mapping:
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
203 * 0: profile_types
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
204 * 1: after
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
205 * 2: limit
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
206 * 3: big_img_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
207 * 4: huge_img_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
208 * 5: small_img_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
209 * 6: low_res_cover_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
210 * 7: media_type
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
211 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
212 #define FB_API_QUERY_CONTACTS_AFTER 10153856456281729
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
213
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
214 /**
37369
ebcd09a1a124 facebook: display stickers in-line
James Geboski <jgeboski@gmail.com>
parents: 37365
diff changeset
215 * FB_API_QUERY_STICKER:
ebcd09a1a124 facebook: display stickers in-line
James Geboski <jgeboski@gmail.com>
parents: 37365
diff changeset
216 *
ebcd09a1a124 facebook: display stickers in-line
James Geboski <jgeboski@gmail.com>
parents: 37365
diff changeset
217 * The query hash for the `FetchStickersWithPreviewsQuery`.
37513
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
218 *
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
219 * Key mapping:
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
220 * 0: sticker_ids
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
221 * 1: media_type
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
222 * 2: preview_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
223 * 3: scaling_factor
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
224 * 4: animated_media_type
37369
ebcd09a1a124 facebook: display stickers in-line
James Geboski <jgeboski@gmail.com>
parents: 37365
diff changeset
225 */
ebcd09a1a124 facebook: display stickers in-line
James Geboski <jgeboski@gmail.com>
parents: 37365
diff changeset
226 #define FB_API_QUERY_STICKER 10152877994321729
ebcd09a1a124 facebook: display stickers in-line
James Geboski <jgeboski@gmail.com>
parents: 37365
diff changeset
227
ebcd09a1a124 facebook: display stickers in-line
James Geboski <jgeboski@gmail.com>
parents: 37365
diff changeset
228 /**
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
229 * FB_API_QUERY_THREAD:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
230 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
231 * The query hash for the `ThreadQuery`.
37513
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
232 *
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
233 * Key mapping:
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
234 * 0: thread_ids
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
235 * 1: verification_type
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
236 * 2: hash_key
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
237 * 3: small_preview_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
238 * 4: large_preview_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
239 * 5: item_count
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
240 * 6: event_count
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
241 * 7: full_screen_height
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
242 * 8: full_screen_width
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
243 * 9: medium_preview_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
244 * 10: fetch_users_separately
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
245 * 11: include_message_info
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
246 * 12: msg_count
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
247 * 13: include_full_user_info
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
248 * 14: profile_pic_large_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
249 * 15: profile_pic_medium_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
250 * 16: profile_pic_small_size
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
251 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
252 #define FB_API_QUERY_THREAD 10153919752036729
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
253
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
254 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
255 * FB_API_QUERY_THREADS:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
256 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
257 * The query hash for the `ThreadListQuery`.
37513
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
258 *
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
259 * Key mapping:
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
260 * 0: folder_tag
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
261 * 1: thread_count
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
262 * 2: include_thread_info
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
263 * 3: verification_type
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
264 * 4: hash_key
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
265 * 5: small_preview_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
266 * 6: large_preview_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
267 * 7: item_count
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
268 * 8: event_count
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
269 * 9: full_screen_height
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
270 * 10: full_screen_width
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
271 * 11: medium_preview_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
272 * 12: fetch_users_separately
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
273 * 13: include_message_info
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
274 * 14: msg_count
37524
806baa6e240c Unbreak gtk-doc
Jorge Villaseñor <salinasv@pidgin.im>
parents: 37513
diff changeset
275 * 15: UNKNOWN
37513
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
276 * 16: profile_pic_large_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
277 * 17: profile_pic_medium_size
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
278 * 18: profile_pic_small_size
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
279 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
280 #define FB_API_QUERY_THREADS 10153919752026729
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
281
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
282 /**
38386
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
283 * FB_API_QUERY_SEQ_ID:
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
284 *
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
285 * A variant of ThreadListQuery with sequence ID
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
286 *
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
287 * TODO: parameters.
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
288 */
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
289
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
290 #define FB_API_QUERY_SEQ_ID 10155268192741729
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
291
852ce119c395 facebook: Add new ThreadListQuery-like hash, for initial seq id only
dx <dx@dxzone.com.ar>
parents: 38385
diff changeset
292 /**
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
293 * FB_API_QUERY_XMA:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
294 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
295 * The query hash for the `XMAQuery`.
37513
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
296 *
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
297 * Key mapping:
250fdd93e9c3 facebook: migrated key mappings to the GTK-Doc
James Geboski <jgeboski@gmail.com>
parents: 37510
diff changeset
298 * 0: xma_id
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
299 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
300 #define FB_API_QUERY_XMA 10153919431161729
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
301
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
302 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
303 * FB_API_CONTACTS_COUNT:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
304 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
305 * The maximum amount of contacts to fetch in a single request. If this
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
306 * value is set too high, HTTP request will fail. This is due to the
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
307 * request data being too large.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
308 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
309 #define FB_API_CONTACTS_COUNT 500
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
310
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
311 /**
37510
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
312 * FB_API_TCHK:
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
313 * @e: The expression.
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
314 *
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
315 * Checks the Thrift related expression to ensure that it evaluates to
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
316 * #TRUE. If the expression evaluates to #FALSE, a #GError is assigned
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
317 * to the local `error` variable, then returns with no value.
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
318 *
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
319 * This macro is meant to only be used for Thrift related expressions,
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
320 * where the calling function has a `void` return type. This macro also
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
321 * requires the existence of a predefined `error` variable, which is a
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
322 * pointer of a pointer to a #GError.
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
323 */
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
324 #define FB_API_TCHK(e) \
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
325 G_STMT_START { \
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
326 if (G_UNLIKELY(!(e))) { \
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
327 g_set_error(error, FB_API_ERROR, FB_API_ERROR_GENERAL, \
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
328 "Failed to read thrift: %s:%d " \
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
329 "%s: assertion '%s' failed", \
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
330 __FILE__, __LINE__, G_STRFUNC, #e); \
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
331 return; \
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
332 } \
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
333 } G_STMT_END
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
334
1bee26614db9 facebook: properly handle optional Thrift fields and scoping
James Geboski <jgeboski@gmail.com>
parents: 37475
diff changeset
335 /**
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
336 * FB_API_MSGID:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
337 * @m: The time in milliseconds.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
338 * @i: The random integer.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
339 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
340 * Creates a 64-bit message identifier in the Facebook format.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
341 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
342 * Returns: The message identifier.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
343 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
344 #define FB_API_MSGID(m, i) ((guint64) ( \
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
345 (((guint32) i) & 0x3FFFFF) | \
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
346 (((guint64) m) << 22) \
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
347 ))
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
348
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
349 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
350 * FB_API_ERROR_EMIT:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
351 * @a: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
352 * @e: The #FbApiError.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
353 * @c: The code to execute.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
354 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
355 * Emits a #GError on behalf of the #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
356 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
357 #define FB_API_ERROR_EMIT(a, e, c) \
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
358 G_STMT_START { \
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
359 if (G_UNLIKELY((e) != NULL)) { \
37316
9e3520d6ec49 facebook: refactored and improved JSON error handling
James Geboski <jgeboski@gmail.com>
parents: 37315
diff changeset
360 fb_api_error_emit(a, e); \
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
361 {c;} \
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
362 } \
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
363 } G_STMT_END
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
364
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
365 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
366 * FB_API_ERROR:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
367 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
368 * The #GQuark of the domain of API errors.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
369 */
37471
32c1e77d0474 facebook: coding style consistencies
James Geboski <jgeboski@gmail.com>
parents: 37381
diff changeset
370 #define FB_API_ERROR fb_api_error_quark()
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
371
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
372 typedef struct _FbApi FbApi;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
373 typedef struct _FbApiClass FbApiClass;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
374 typedef struct _FbApiPrivate FbApiPrivate;
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
375 typedef struct _FbApiEvent FbApiEvent;
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
376 typedef struct _FbApiMessage FbApiMessage;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
377 typedef struct _FbApiPresence FbApiPresence;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
378 typedef struct _FbApiThread FbApiThread;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
379 typedef struct _FbApiTyping FbApiTyping;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
380 typedef struct _FbApiUser FbApiUser;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
381
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
382 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
383 * FbApiError:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
384 * @FB_API_ERROR_GENERAL: General failure.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
385 * @FB_API_ERROR_AUTH: Authentication failure.
37377
c92bc4233941 facebook: fixed improper handling of queue errors
James Geboski <jgeboski@gmail.com>
parents: 37370
diff changeset
386 * @FB_API_ERROR_QUEUE: Queue failure.
38185
955dcca1ac3d facebook: Prevent disconnections on 509 errors, "Invalid attachment id"
dequis <dx@dxzone.com.ar>
parents: 37524
diff changeset
387 * @FB_API_ERROR_NONFATAL: Other non-fatal errors.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
388 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
389 * The error codes for the #FB_API_ERROR domain.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
390 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
391 typedef enum
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
392 {
37306
7c454f51b56b facebook: handle authentication errors
James Geboski <jgeboski@gmail.com>
parents: 37304
diff changeset
393 FB_API_ERROR_GENERAL,
37377
c92bc4233941 facebook: fixed improper handling of queue errors
James Geboski <jgeboski@gmail.com>
parents: 37370
diff changeset
394 FB_API_ERROR_AUTH,
38185
955dcca1ac3d facebook: Prevent disconnections on 509 errors, "Invalid attachment id"
dequis <dx@dxzone.com.ar>
parents: 37524
diff changeset
395 FB_API_ERROR_QUEUE,
955dcca1ac3d facebook: Prevent disconnections on 509 errors, "Invalid attachment id"
dequis <dx@dxzone.com.ar>
parents: 37524
diff changeset
396 FB_API_ERROR_NONFATAL
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
397 } FbApiError;
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
398
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
399 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
400 * FbApiEventType:
37380
06ad6f6aa43a facebook: implemented group chat topic change events
James Geboski <jgeboski@gmail.com>
parents: 37377
diff changeset
401 * @FB_API_EVENT_TYPE_THREAD_TOPIC: The thread topic was changed.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
402 * @FB_API_EVENT_TYPE_THREAD_USER_ADDED: A thread user was added.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
403 * @FB_API_EVENT_TYPE_THREAD_USER_REMOVED: A thread user was removed.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
404 *
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
405 * The #FbApiEvent types.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
406 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
407 typedef enum
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
408 {
37380
06ad6f6aa43a facebook: implemented group chat topic change events
James Geboski <jgeboski@gmail.com>
parents: 37377
diff changeset
409 FB_API_EVENT_TYPE_THREAD_TOPIC,
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
410 FB_API_EVENT_TYPE_THREAD_USER_ADDED,
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
411 FB_API_EVENT_TYPE_THREAD_USER_REMOVED
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
412 } FbApiEventType;
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
413
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
414 /**
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
415 * FbApiMessageFlags:
37364
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
416 * @FB_API_MESSAGE_FLAG_DONE: The text has been processed.
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
417 * @FB_API_MESSAGE_FLAG_IMAGE: The text is a URL to an image.
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
418 * @FB_API_MESSAGE_FLAG_SELF: The text is from the #FbApi user.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
419 *
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
420 * The #FbApiMessage flags.
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
421 */
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
422 typedef enum
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
423 {
37364
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
424 FB_API_MESSAGE_FLAG_DONE = 1 << 0,
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
425 FB_API_MESSAGE_FLAG_IMAGE = 1 << 1,
d8e50d403e82 facebook: display images in-line
James Geboski <jgeboski@gmail.com>
parents: 37361
diff changeset
426 FB_API_MESSAGE_FLAG_SELF = 1 << 2
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
427 } FbApiMessageFlags;
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
428
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
429 /**
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
430 * FbApi:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
431 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
432 * Represents a Facebook Messenger connection.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
433 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
434 struct _FbApi
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
435 {
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
436 /*< private >*/
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
437 GObject parent;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
438 FbApiPrivate *priv;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
439 };
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
440
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
441 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
442 * FbApiClass:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
443 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
444 * The base class for all #FbApi's.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
445 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
446 struct _FbApiClass
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
447 {
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
448 /*< private >*/
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
449 GObjectClass parent_class;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
450 };
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
451
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
452 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
453 * FbApiEvent:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
454 * @type: The #FbApiEventType.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
455 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
456 * @tid: The thread #FbId.
37380
06ad6f6aa43a facebook: implemented group chat topic change events
James Geboski <jgeboski@gmail.com>
parents: 37377
diff changeset
457 * @text: The event text.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
458 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
459 * Represents a Facebook update event.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
460 */
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
461 struct _FbApiEvent
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
462 {
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
463 FbApiEventType type;
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
464 FbId uid;
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
465 FbId tid;
37380
06ad6f6aa43a facebook: implemented group chat topic change events
James Geboski <jgeboski@gmail.com>
parents: 37377
diff changeset
466 gchar *text;
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
467 };
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
468
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
469 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
470 * FbApiMessage:
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
471 * @flags: The #FbApiMessageFlags.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
472 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
473 * @tid: The thread #FbId.
37475
643d7b0aadbd facebook: preserve the timestamp on incoming messages
James Geboski <jgeboski@gmail.com>
parents: 37471
diff changeset
474 * @tstamp: The timestamp in milliseconds (UTC).
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
475 * @text: The message text.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
476 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
477 * Represents a Facebook user message.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
478 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
479 struct _FbApiMessage
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
480 {
37361
6545b86a0705 facebook: refactored for future inline images
James Geboski <jgeboski@gmail.com>
parents: 37359
diff changeset
481 FbApiMessageFlags flags;
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
482 FbId uid;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
483 FbId tid;
37475
643d7b0aadbd facebook: preserve the timestamp on incoming messages
James Geboski <jgeboski@gmail.com>
parents: 37471
diff changeset
484 gint64 tstamp;
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
485 gchar *text;
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
486 };
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
487
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
488 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
489 * FbApiPresence:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
490 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
491 * @active: #TRUE if the user is active, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
492 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
493 * Represents a Facebook presence message.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
494 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
495 struct _FbApiPresence
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
496 {
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
497 FbId uid;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
498 gboolean active;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
499 };
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
500
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
501 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
502 * FbApiThread:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
503 * @tid: The thread #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
504 * @topic: The topic.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
505 * @users: The #GSList of #FbApiUser's.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
506 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
507 * Represents a Facebook message thread.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
508 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
509 struct _FbApiThread
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
510 {
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
511 FbId tid;
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
512 gchar *topic;
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
513 GSList *users;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
514 };
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
515
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
516 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
517 * FbApiTyping:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
518 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
519 * @state: #TRUE if the user is typing, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
520 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
521 * Represents a Facebook typing message.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
522 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
523 struct _FbApiTyping
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
524 {
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
525 FbId uid;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
526 gboolean state;
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
527 };
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
528
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
529 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
530 * FbApiUser:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
531 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
532 * @name: The name of the user.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
533 * @icon: The icon URL.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
534 * @csum: The checksum of @icon.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
535 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
536 * Represents a Facebook user.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
537 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
538 struct _FbApiUser
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
539 {
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
540 FbId uid;
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
541 gchar *name;
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
542 gchar *icon;
37257
5ba291680ac4 facebook: compare checksums before fetching icons
James Geboski <jgeboski@gmail.com>
parents: 37255
diff changeset
543 gchar *csum;
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
544 };
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
545
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
546 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
547 * fb_api_get_type:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
548 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
549 * Returns: The #GType for an #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
550 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
551 GType
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
552 fb_api_get_type(void);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
553
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
554 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
555 * fb_api_error_quark:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
556 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
557 * Gets the #GQuark of the domain of API errors.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
558 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
559 * Returns: The #GQuark of the domain.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
560 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
561 GQuark
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
562 fb_api_error_quark(void);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
563
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
564 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
565 * fb_api_new:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
566 * @gc: The #PurpleConnection.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
567 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
568 * Creates a new #FbApi. The returned #FbApi should be freed with
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
569 * #g_object_unref() when no longer needed.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
570 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
571 * Returns: The new #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
572 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
573 FbApi *
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
574 fb_api_new(PurpleConnection *gc);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
575
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
576 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
577 * fb_api_rehash:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
578 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
579 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
580 * Rehashes and updates internal data of the #FbApi. This should be
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
581 * called whenever properties are modified.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
582 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
583 void
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
584 fb_api_rehash(FbApi *api);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
585
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
586 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
587 * fb_api_is_invisible:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
588 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
589 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
590 * Determines if the user of the #FbApi is invisible.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
591 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
592 * Returns: #TRUE if the #FbApi user is invisible, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
593 */
37328
4c091ac7c55a facebook: implemented the invisible presence state
James Geboski <jgeboski@gmail.com>
parents: 37326
diff changeset
594 gboolean
4c091ac7c55a facebook: implemented the invisible presence state
James Geboski <jgeboski@gmail.com>
parents: 37326
diff changeset
595 fb_api_is_invisible(FbApi *api);
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
596
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
597 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
598 * fb_api_error:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
599 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
600 * @error: The #FbApiError.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
601 * @format: The format string literal.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
602 * @...: The arguments for @format.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
603 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
604 * Emits an #FbApiError.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
605 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
606 void
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
607 fb_api_error(FbApi *api, FbApiError error, const gchar *format, ...)
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
608 G_GNUC_PRINTF(3, 4);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
609
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
610 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
611 * fb_api_error_emit:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
612 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
613 * @error: The #GError.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
614 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
615 * Emits a #GError on an #FbApiError.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
616 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
617 void
37316
9e3520d6ec49 facebook: refactored and improved JSON error handling
James Geboski <jgeboski@gmail.com>
parents: 37315
diff changeset
618 fb_api_error_emit(FbApi *api, GError *error);
9e3520d6ec49 facebook: refactored and improved JSON error handling
James Geboski <jgeboski@gmail.com>
parents: 37315
diff changeset
619
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
620 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
621 * fb_api_auth:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
622 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
623 * @user: The Facebook user name, email, or phone number.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
624 * @pass: The Facebook password.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
625 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
626 * Sends an authentication request to Facebook. This will obtain
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
627 * session information, which is required for all other requests.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
628 */
37316
9e3520d6ec49 facebook: refactored and improved JSON error handling
James Geboski <jgeboski@gmail.com>
parents: 37315
diff changeset
629 void
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
630 fb_api_auth(FbApi *api, const gchar *user, const gchar *pass);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
631
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
632 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
633 * fb_api_contact:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
634 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
635 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
636 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
637 * Sends a contact request. This will obtain the general information of
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
638 * a single contact.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
639 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
640 void
37338
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37337
diff changeset
641 fb_api_contact(FbApi *api, FbId uid);
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37337
diff changeset
642
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
643 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
644 * fb_api_contacts:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
645 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
646 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
647 * Sends a contacts request. This will obtain a full list of detailed
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
648 * contact information about the friends of the #FbApi user.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
649 */
37338
e4d77bc25235 facebook: add and alias non-friend buddies
James Geboski <jgeboski@gmail.com>
parents: 37337
diff changeset
650 void
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
651 fb_api_contacts(FbApi *api);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
652
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
653 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
654 * fb_api_connect:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
655 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
656 * @invisible: #TRUE to make the user invisible, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
657 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
658 * Initializes and establishes the underlying MQTT connection.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
659 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
660 void
37328
4c091ac7c55a facebook: implemented the invisible presence state
James Geboski <jgeboski@gmail.com>
parents: 37326
diff changeset
661 fb_api_connect(FbApi *api, gboolean invisible);
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
662
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
663 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
664 * fb_api_disconnect:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
665 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
666 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
667 * Closes the underlying MQTT connection.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
668 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
669 void
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
670 fb_api_disconnect(FbApi *api);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
671
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
672 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
673 * fb_api_message:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
674 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
675 * @id: The user or thread #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
676 * @thread: #TRUE if @id is a thread, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
677 * @text: The message text.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
678 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
679 * Sends a message as the user of the #FbApi to a user or a thread.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
680 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
681 void
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
682 fb_api_message(FbApi *api, FbId id, gboolean thread, const gchar *text);
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
683
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
684 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
685 * fb_api_publish:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
686 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
687 * @topic: The topic.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
688 * @format: The format string literal.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
689 * @...: The arguments for @format.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
690 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
691 * Publishes an MQTT message.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
692 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
693 void
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
694 fb_api_publish(FbApi *api, const gchar *topic, const gchar *format, ...)
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
695 G_GNUC_PRINTF(3, 4);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
696
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
697 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
698 * fb_api_read:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
699 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
700 * @id: The user or thread #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
701 * @thread: #TRUE if @id is a thread, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
702 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
703 * Marks a message thread as read.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
704 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
705 void
37304
168a859417f6 facebook: implemented marking threads as read
James Geboski <jgeboski@gmail.com>
parents: 37299
diff changeset
706 fb_api_read(FbApi *api, FbId id, gboolean thread);
168a859417f6 facebook: implemented marking threads as read
James Geboski <jgeboski@gmail.com>
parents: 37299
diff changeset
707
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
708 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
709 * fb_api_unread:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
710 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
711 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
712 * Sends an unread message request.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
713 */
37304
168a859417f6 facebook: implemented marking threads as read
James Geboski <jgeboski@gmail.com>
parents: 37299
diff changeset
714 void
37326
c768f27357ec facebook: implemented the retrieval of unread messages
James Geboski <jgeboski@gmail.com>
parents: 37325
diff changeset
715 fb_api_unread(FbApi *api);
c768f27357ec facebook: implemented the retrieval of unread messages
James Geboski <jgeboski@gmail.com>
parents: 37325
diff changeset
716
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
717 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
718 * fb_api_thread:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
719 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
720 * @tid: The thread #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
721 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
722 * Sends a thread request. This will obtain the general information of
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
723 * a single thread.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
724 */
37326
c768f27357ec facebook: implemented the retrieval of unread messages
James Geboski <jgeboski@gmail.com>
parents: 37325
diff changeset
725 void
37332
c4f2fd45ffba facebook: refactored internal API naming
James Geboski <jgeboski@gmail.com>
parents: 37330
diff changeset
726 fb_api_thread(FbApi *api, FbId tid);
c4f2fd45ffba facebook: refactored internal API naming
James Geboski <jgeboski@gmail.com>
parents: 37330
diff changeset
727
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
728 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
729 * fb_api_thread_create:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
730 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
731 * @uids: The #GSList of #FbId's.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
732 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
733 * Sends a thread creation request. In order to create a thread, there
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
734 * must be at least two other users in @uids.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
735 */
37332
c4f2fd45ffba facebook: refactored internal API naming
James Geboski <jgeboski@gmail.com>
parents: 37330
diff changeset
736 void
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
737 fb_api_thread_create(FbApi *api, GSList *uids);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
738
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
739 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
740 * fb_api_thread_invite:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
741 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
742 * @tid: The thread #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
743 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
744 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
745 * Sends a thread user invitation request.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
746 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
747 void
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
748 fb_api_thread_invite(FbApi *api, FbId tid, FbId uid);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
749
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
750 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
751 * fb_api_thread_remove:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
752 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
753 * @tid: The thread #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
754 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
755 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
756 * Sends a thread user removal request.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
757 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
758 void
37284
53cb588d8760 facebook: implemented kicking/leaving group chats
James Geboski <jgeboski@gmail.com>
parents: 37269
diff changeset
759 fb_api_thread_remove(FbApi *api, FbId tid, FbId uid);
53cb588d8760 facebook: implemented kicking/leaving group chats
James Geboski <jgeboski@gmail.com>
parents: 37269
diff changeset
760
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
761 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
762 * fb_api_thread_topic:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
763 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
764 * @tid: The thread #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
765 * @topic: The topic.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
766 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
767 * Sends a thread topic change request.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
768 */
37284
53cb588d8760 facebook: implemented kicking/leaving group chats
James Geboski <jgeboski@gmail.com>
parents: 37269
diff changeset
769 void
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
770 fb_api_thread_topic(FbApi *api, FbId tid, const gchar *topic);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
771
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
772 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
773 * fb_api_threads:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
774 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
775 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
776 * Sends a threads request. This will obtain a full list of detailed
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
777 * thread information about the threads of the #FbApi user.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
778 */
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
779 void
37332
c4f2fd45ffba facebook: refactored internal API naming
James Geboski <jgeboski@gmail.com>
parents: 37330
diff changeset
780 fb_api_threads(FbApi *api);
c4f2fd45ffba facebook: refactored internal API naming
James Geboski <jgeboski@gmail.com>
parents: 37330
diff changeset
781
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
782 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
783 * fb_api_typing:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
784 * @api: The #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
785 * @uid: The user #FbId.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
786 * @state: #TRUE if the #FbApi user is typing, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
787 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
788 * Sends a typing state message for the user of the #FbApi.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
789 */
37332
c4f2fd45ffba facebook: refactored internal API naming
James Geboski <jgeboski@gmail.com>
parents: 37330
diff changeset
790 void
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
791 fb_api_typing(FbApi *api, FbId uid, gboolean state);
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
792
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
793 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
794 * fb_api_event_dup:
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
795 * @event: The #FbApiEvent or #NULL.
37380
06ad6f6aa43a facebook: implemented group chat topic change events
James Geboski <jgeboski@gmail.com>
parents: 37377
diff changeset
796 * @deep: #TRUE to duplicate allocated data, otherwise #FALSE.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
797 *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
798 * Duplicates an #FbApiEvent. If @event is #NULL, a new zero filled
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
799 * #FbApiEvent is returned. The returned #FbApiEvent should be freed
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
800 * with #fb_api_event_free() when no longer needed.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
801 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
802 * Returns: The new #FbApiEvent.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
803 */
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
804 FbApiEvent *
37380
06ad6f6aa43a facebook: implemented group chat topic change events
James Geboski <jgeboski@gmail.com>
parents: 37377
diff changeset
805 fb_api_event_dup(const FbApiEvent *event, gboolean deep);
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
806
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
807 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
808 * fb_api_event_reset:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
809 * @event: The #FbApiEvent.
37380
06ad6f6aa43a facebook: implemented group chat topic change events
James Geboski <jgeboski@gmail.com>
parents: 37377
diff changeset
810 * @deep: #TRUE to free allocated data, otherwise #FALSE.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
811 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
812 * Resets an #FbApiEvent.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
813 */
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
814 void
37380
06ad6f6aa43a facebook: implemented group chat topic change events
James Geboski <jgeboski@gmail.com>
parents: 37377
diff changeset
815 fb_api_event_reset(FbApiEvent *event, gboolean deep);
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
816
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
817 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
818 * fb_api_event_free:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
819 * @event: The #FbApiEvent.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
820 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
821 * Frees all memory used by the #FbApiEvent.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
822 */
37337
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
823 void
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
824 fb_api_event_free(FbApiEvent *event);
aecff282de76 facebook: handle group chat events
James Geboski <jgeboski@gmail.com>
parents: 37332
diff changeset
825
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
826 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
827 * fb_api_message_dup:
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
828 * @msg: The #FbApiMessage or #NULL.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
829 * @deep: #TRUE to duplicate allocated data, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
830 *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
831 * Duplicates an #FbApiMessage. If @msg is #NULL, a new zero filled
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
832 * #FbApiMessage is returned. The returned #FbApiMessage should be
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
833 * freed with #fb_api_message_free() when no longer needed.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
834 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
835 * Returns: The new #FbApiMessage.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
836 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
837 FbApiMessage *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
838 fb_api_message_dup(const FbApiMessage *msg, gboolean deep);
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
839
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
840 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
841 * fb_api_message_reset:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
842 * @msg: The #FbApiMessage.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
843 * @deep: #TRUE to free allocated data, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
844 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
845 * Resets an #FbApiMessage.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
846 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
847 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
848 fb_api_message_reset(FbApiMessage *msg, gboolean deep);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
849
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
850 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
851 * fb_api_message_free:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
852 * @msg: The #FbApiMessage.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
853 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
854 * Frees all memory used by the #FbApiMessage.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
855 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
856 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
857 fb_api_message_free(FbApiMessage *msg);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
858
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
859 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
860 * fb_api_presence_dup:
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
861 * @pres: The #FbApiPresence or #NULL.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
862 *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
863 * Duplicates an #FbApiPresence. If @pres is #NULL, a new zero filled
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
864 * #FbApiPresence is returned. The returned #FbApiPresence should be
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
865 * freed with #fb_api_presence_free() when no longer needed.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
866 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
867 * Returns: The new #FbApiPresence.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
868 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
869 FbApiPresence *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
870 fb_api_presence_dup(const FbApiPresence *pres);
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
871
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
872 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
873 * fb_api_presence_reset:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
874 * @pres: The #FbApiPresence.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
875 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
876 * Resets an #FbApiPresence.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
877 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
878 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
879 fb_api_presence_reset(FbApiPresence *pres);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
880
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
881 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
882 * fb_api_presence_free:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
883 * @pres: The #FbApiPresence.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
884 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
885 * Frees all memory used by the #FbApiPresence.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
886 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
887 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
888 fb_api_presence_free(FbApiPresence *pres);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
889
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
890 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
891 * fb_api_thread_dup:
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
892 * @thrd: The #FbApiThread or #NULL.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
893 * @deep: #TRUE to duplicate allocated data, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
894 *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
895 * Duplicates an #FbApiThread. If @thrd is #NULL, a new zero filled
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
896 * #FbApiThread is returned. The returned #FbApiThread should be freed
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
897 * with #fb_api_thread_free() when no longer needed.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
898 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
899 * Returns: The new #FbApiThread.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
900 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
901 FbApiThread *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
902 fb_api_thread_dup(const FbApiThread *thrd, gboolean deep);
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
903
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
904 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
905 * fb_api_thread_reset:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
906 * @thrd: The #FbApiThread.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
907 * @deep: #TRUE to free allocated data, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
908 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
909 * Resets an #FbApiThread.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
910 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
911 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
912 fb_api_thread_reset(FbApiThread *thrd, gboolean deep);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
913
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
914 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
915 * fb_api_thread_free:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
916 * @thrd: The #FbApiThread.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
917 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
918 * Frees all memory used by the #FbApiThread.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
919 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
920 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
921 fb_api_thread_free(FbApiThread *thrd);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
922
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
923 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
924 * fb_api_typing_dup:
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
925 * @typg: The #FbApiTyping or #NULL.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
926 *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
927 * Duplicates an #FbApiTyping. If @typg is #NULL, a new zero filled
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
928 * #FbApiTyping is returned. The returned #FbApiTyping should be freed
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
929 * with #fb_api_typing_free() when no longer needed.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
930 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
931 * Returns: The new #FbApiTyping.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
932 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
933 FbApiTyping *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
934 fb_api_typing_dup(const FbApiTyping *typg);
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
935
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
936 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
937 * fb_api_typing_reset:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
938 * @typg: The #FbApiTyping.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
939 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
940 * Resets an #FbApiTyping.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
941 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
942 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
943 fb_api_typing_reset(FbApiTyping *typg);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
944
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
945 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
946 * fb_api_typing_free:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
947 * @typg: The #FbApiTyping.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
948 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
949 * Frees all memory used by the #FbApiTyping.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
950 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
951 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
952 fb_api_typing_free(FbApiTyping *typg);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
953
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
954 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
955 * fb_api_user_dup:
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
956 * @user: The #FbApiUser or #NULL.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
957 * @deep: #TRUE to duplicate allocated data, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
958 *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
959 * Duplicates an #FbApiUser. If @user is #NULL, a new zero filled
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
960 * #FbApiUser is returned. The returned #FbApiUser should be freed with
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
961 * #fb_api_user_free() when no longer needed.
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
962 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
963 * Returns: The new #FbApiUser.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
964 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
965 FbApiUser *
37365
b70cc4d02d68 facebook: refactored data structure usage
James Geboski <jgeboski@gmail.com>
parents: 37364
diff changeset
966 fb_api_user_dup(const FbApiUser *user, gboolean deep);
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
967
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
968 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
969 * fb_api_user_reset:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
970 * @user: The #FbApiUser.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
971 * @deep: #TRUE to free allocated data, otherwise #FALSE.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
972 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
973 * Resets an #FbApiUser.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
974 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
975 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
976 fb_api_user_reset(FbApiUser *user, gboolean deep);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
977
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
978 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
979 * fb_api_user_free:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
980 * @user: The #FbApiUser.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
981 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
982 * Frees all memory used by the #FbApiUser.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37342
diff changeset
983 */
37269
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
984 void
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
985 fb_api_user_free(FbApiUser *user);
129e87951cd6 facebook: fixed JSON parsing for older json-glib versions
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
986
37250
3f5570a17b15 facebook: initial import of bitlbee-facebook
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
987 #endif /* _FACEBOOK_API_H_ */

mercurial