libpurple/protocols/facebook/data.h

Thu, 25 Jun 2015 20:55:40 -0400

author
James Geboski <jgeboski@gmail.com>
date
Thu, 25 Jun 2015 20:55:40 -0400
branch
facebook
changeset 37277
eb8cefa8897d
parent 37276
853fadf2e250
child 37291
ccd151aed9f9
permissions
-rw-r--r--

facebook: removed unused field in FbDataIcon

37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
1 /* purple
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
2 *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
5 * source distribution.
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
6 *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
10 * (at your option) any later version.
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
11 *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
15 * GNU General Public License for more details.
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
16 *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
20 */
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
21
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
22 #ifndef _FACEBOOK_DATA_H_
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
23 #define _FACEBOOK_DATA_H_
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
24
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
25 #include "connection.h"
37265
df6d420a48b7 facebook: added glib compatibility symbols
James Geboski <jgeboski@gmail.com>
parents: 37258
diff changeset
26 #include "glibcompat.h"
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
27
37276
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
28 #define FB_DATA_ICON_MAX 4
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
29
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
30 #define FB_TYPE_DATA (fb_data_get_type())
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
31 #define FB_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), FB_TYPE_DATA, FbData))
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
32 #define FB_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), FB_TYPE_DATA, FbData))
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
33 #define FB_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), FB_TYPE_DATA, FbDataClass))
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
34 #define FB_IS_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), FB_TYPE_DATA))
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
35 #define FB_IS_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), FB_TYPE_DATA))
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
36 #define FB_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), FB_TYPE_DATA, FbDataClass))
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
37
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
38 typedef struct _FbData FbData;
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
39 typedef struct _FbDataClass FbDataClass;
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
40 typedef struct _FbDataPrivate FbDataPrivate;
37276
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
41 typedef struct _FbDataIcon FbDataIcon;
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
42
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
43 struct _FbData
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
44 {
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
45 GObject parent;
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
46 FbDataPrivate *priv;
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
47 };
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
48
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
49 struct _FbDataClass
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
50 {
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
51 GObjectClass parent_class;
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
52 };
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
53
37276
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
54 struct _FbDataIcon
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
55 {
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
56 FbData *fata;
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
57 PurpleBuddy *buddy;
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
58 gchar *url;
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
59 PurpleHttpCallback func;
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
60 };
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
61
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
62
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
63 GType
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
64 fb_data_get_type(void);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
65
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
66 FbData *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
67 fb_data_new(PurpleConnection *gc);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
68
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
69 gboolean
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
70 fb_data_load(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
71
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
72 void
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
73 fb_data_save(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
74
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
75 FbApi *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
76 fb_data_get_api(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
77
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
78 gint
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
79 fb_data_get_chatid(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
80
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
81 PurpleConnection *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
82 fb_data_get_connection(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
83
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
84 PurpleRoomlist *
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
85 fb_data_get_roomlist(FbData *fata);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
86
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
87 void
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
88 fb_data_set_roomlist(FbData *fata, PurpleRoomlist *list);
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
89
37276
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
90 FbDataIcon *
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
91 fb_data_icon_add(FbData *fata, PurpleBuddy *buddy, const gchar *url,
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
92 PurpleHttpCallback func);
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
93
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
94 void
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
95 fb_data_icon_destroy(FbDataIcon *icon);
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
96
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
97 void
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
98 fb_data_icon_queue(FbData *fata);
853fadf2e250 facebook: queue icon downloads to prevent lag
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
99
37258
291b6e1acc24 facebook: implemented group chat support
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
100 #endif /* _FACEBOOK_DATA_H_ */

mercurial