libpurple/protocols/facebook/facebook.h

Wed, 19 Aug 2015 21:50:10 -0400

author
James Geboski <jgeboski@gmail.com>
date
Wed, 19 Aug 2015 21:50:10 -0400
branch
facebook
changeset 37364
d8e50d403e82
parent 37359
79374d83fae5
child 37418
28302ab00d1a
permissions
-rw-r--r--

facebook: display images in-line

37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
1 /* purple
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
2 *
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
5 * source distribution.
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
6 *
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
10 * (at your option) any later version.
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
11 *
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
15 * GNU General Public License for more details.
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
16 *
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
20 */
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
21
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
22 #ifndef _FACEBOOK_H_
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
23 #define _FACEBOOK_H_
dfa58c08a4fd facebook: initial protocol plugin
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: 37310
diff changeset
25 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
26 * SECTION:facebook
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
27 * @section_id: facebook-plugin
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
28 * @short_description: <filename>facebook.h</filename>
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
29 * @title: Facebook Plugin
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
30 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
31 * The Facebook Messenger #PurpleProtocol.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
32 */
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
33
37309
556eea7a45da facebook: merged local glibcompat.h into libpurple's
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
34 #include <glib.h>
556eea7a45da facebook: merged local glibcompat.h into libpurple's
James Geboski <jgeboski@gmail.com>
parents: 37265
diff changeset
35
37359
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37351
diff changeset
36 #define FACEBOOK_TYPE_PROTOCOL (facebook_protocol_get_type())
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37351
diff changeset
37 #define FACEBOOK_PROTOCOL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), FACEBOOK_TYPE_PROTOCOL, FacebookProtocol))
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37351
diff changeset
38 #define FACEBOOK_PROTOCOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), FACEBOOK_TYPE_PROTOCOL, FacebookProtocolClass))
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37351
diff changeset
39 #define FACEBOOK_IS_PROTOCOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), FACEBOOK_TYPE_PROTOCOL))
37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
40 #define FACEBOOK_IS_PROTOCOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), FACEBOOK_TYPE_PROTOCOL))
37359
79374d83fae5 facebook: removed alignment whitespace
James Geboski <jgeboski@gmail.com>
parents: 37351
diff changeset
41 #define FACEBOOK_PROTOCOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), FACEBOOK_TYPE_PROTOCOL, FacebookProtocolClass))
37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
42
37351
914c79d327a9 facebook: only handle signals for the Facebook protocol
James Geboski <jgeboski@gmail.com>
parents: 37347
diff changeset
43 /**
914c79d327a9 facebook: only handle signals for the Facebook protocol
James Geboski <jgeboski@gmail.com>
parents: 37347
diff changeset
44 * FB_PROTOCOL_ID:
914c79d327a9 facebook: only handle signals for the Facebook protocol
James Geboski <jgeboski@gmail.com>
parents: 37347
diff changeset
45 *
914c79d327a9 facebook: only handle signals for the Facebook protocol
James Geboski <jgeboski@gmail.com>
parents: 37347
diff changeset
46 * The Facebook protocol identifier.
914c79d327a9 facebook: only handle signals for the Facebook protocol
James Geboski <jgeboski@gmail.com>
parents: 37347
diff changeset
47 */
914c79d327a9 facebook: only handle signals for the Facebook protocol
James Geboski <jgeboski@gmail.com>
parents: 37347
diff changeset
48 #define FB_PROTOCOL_ID "prpl-facebook"
914c79d327a9 facebook: only handle signals for the Facebook protocol
James Geboski <jgeboski@gmail.com>
parents: 37347
diff changeset
49
37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
50 typedef struct _FacebookProtocol FacebookProtocol;
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
51 typedef struct _FacebookProtocolClass FacebookProtocolClass;
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
52
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
53 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
54 * FacebookProtocol:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
55 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
56 * Represents the Facebook #PurpleProtocol.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
57 */
37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
58 struct _FacebookProtocol
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
59 {
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
60 /*< private >*/
37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
61 PurpleProtocol parent;
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
62 };
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
63
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
64 /**
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
65 * FacebookProtocolClass:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
66 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
67 * The base class for all #FacebookProtocol's.
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
68 */
37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
69 struct _FacebookProtocolClass
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
70 {
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
71 /*< private >*/
37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
72 PurpleProtocolClass parent_class;
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
73 };
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
74
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
75 /**
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
76 * facebook_protocol_get_type:
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
77 *
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
78 * Returns: The #GType for a #FacebookProtocol.
37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
79 */
37347
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
80 G_MODULE_EXPORT GType
34d43f8c10d1 facebook: added GTK-Doc for the internal APIs
James Geboski <jgeboski@gmail.com>
parents: 37310
diff changeset
81 facebook_protocol_get_type(void);
37249
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
82
dfa58c08a4fd facebook: initial protocol plugin
James Geboski <jgeboski@gmail.com>
parents:
diff changeset
83 #endif /* _FACEBOOK_H_ */

mercurial