libpurple/smiley-parser.h

Thu, 19 Nov 2020 21:49:57 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 19 Nov 2020 21:49:57 -0600
changeset 40616
064ff9f4150a
parent 40474
1341be8e3402
child 40853
d3518ff99fa7
permissions
-rw-r--r--

Don't allow libraries to include their own global header files.

Testing Done:
Compiled, ran unit tests, and built the docs

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

35709
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
1 /* purple
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
2 *
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
3 * Purple is the legal property of its developers, whose names are too numerous
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
4 * to list here. Please refer to the COPYRIGHT file distributed with this
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
5 * source distribution.
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
6 *
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
10 * (at your option) any later version.
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
11 *
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
15 * GNU General Public License for more details.
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
16 *
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
20 */
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
21
40474
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39740
diff changeset
22 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39740
diff changeset
23 # error "only <purple.h> may be included directly"
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39740
diff changeset
24 #endif
1341be8e3402 Make it so only libpurple can directly include libpurple header files.
Gary Kramlich <grim@reaperworld.com>
parents: 39740
diff changeset
25
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38716
diff changeset
26 #ifndef PURPLE_SMILEY_PARSER_H
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38716
diff changeset
27 #define PURPLE_SMILEY_PARSER_H
40616
064ff9f4150a Don't allow libraries to include their own global header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
28
35774
9227a7757e92 Comments: PurpleSmiley
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35764
diff changeset
29 /**
9227a7757e92 Comments: PurpleSmiley
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35764
diff changeset
30 * SECTION:smiley-parser
9227a7757e92 Comments: PurpleSmiley
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35764
diff changeset
31 * @include:smiley-parser.h
9227a7757e92 Comments: PurpleSmiley
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35764
diff changeset
32 * @section_id: libpurple-smiley-parser
9227a7757e92 Comments: PurpleSmiley
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35764
diff changeset
33 * @short_description: a efficient smiley processor
9227a7757e92 Comments: PurpleSmiley
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35764
diff changeset
34 * @title: Smiley parser
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
35 *
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
36 * This module is a fast and easy method for searching (and optionally replacing)
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
37 * #PurpleSmiley's in a text. It may use all suitable smiley sets to smileyify
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
38 * the message in one step. The priority if always the following: remote
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
39 * smileys > local custom smileys > theme smileys.
35774
9227a7757e92 Comments: PurpleSmiley
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35764
diff changeset
40 */
35709
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
41
40616
064ff9f4150a Don't allow libraries to include their own global header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
42 #include <glib.h>
064ff9f4150a Don't allow libraries to include their own global header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
43
064ff9f4150a Don't allow libraries to include their own global header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
44 #include "conversation.h"
064ff9f4150a Don't allow libraries to include their own global header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
45 #include "smiley.h"
064ff9f4150a Don't allow libraries to include their own global header files.
Gary Kramlich <grim@reaperworld.com>
parents: 40474
diff changeset
46 #include "smiley-list.h"
35709
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
47
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
48 /**
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
49 * PurpleSmileyParseCb:
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
50 * @out: the message buffer.
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
51 * @smiley: found smiley.
35788
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
52 * @conv: the conversation of a message (or %NULL, if not passed).
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
53 * @ui_data: the data being passed to #purple_smiley_parse.
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
54 *
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
55 * A replace callback for the found @smiley. It should append a HTML tag
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
56 * representing the @smiley to the @out string. It must not modify the
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
57 * @out string in other way than appending to its end.
35788
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
58 *
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
59 * If callback decides not to replace a smiley, it must not modify
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
60 * @out in any way.
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
61 *
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
62 * Returns: %TRUE if the smiley was inserted.
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
63 */
35788
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
64 typedef gboolean (*PurpleSmileyParseCb)(GString *out, PurpleSmiley *smiley,
35752
77cec2a188ee Smileys: add PurpleConversation to the parser callback
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35747
diff changeset
65 PurpleConversation *conv, gpointer ui_data);
35747
25085b485441 Remote smileys: parse them too
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35716
diff changeset
66
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
67 /**
35792
d18a48a68edf Smiley parser: better symbol names
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35788
diff changeset
68 * purple_smiley_parser_smileify:
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
69 * @conv: the conversation of a message.
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
70 * @html_message: the html message, or escaped plain message.
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
71 * @use_remote_smileys: %TRUE if remote smileys of @conv should be parsed.
39740
84e4c7dece5d Add some scope annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
72 * @cb: (scope call): The callback to replace smiley text with an image.
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
73 * @ui_data: the user data to be passed to @cb and
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
74 * #purple_smiley_theme_get_smileys.
35752
77cec2a188ee Smileys: add PurpleConversation to the parser callback
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35747
diff changeset
75 *
35793
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
76 * Replaces all textual smiley representations with proper smiley images
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
77 * configured for libpurple.
35755
d91c44b4a8e6 Remote smileys: correctly handle failed smileys
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35752
diff changeset
78 *
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
79 * The @use_remote_smileys parameter should be %TRUE for incoming messages,
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
80 * %FALSE for outgoing.
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
81 *
35793
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
82 * This function is intended for replacing all smileys before displaying. For
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
83 * replacing custom smileys before sending to the other party,
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
84 * see #purple_smiley_parser_replace.
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
85 *
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
86 * Returns: (transfer full): the smileifed message. Should be #g_free'd when
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
87 * done using it. Returns %NULL if and only if @html_message was %NULL.
35747
25085b485441 Remote smileys: parse them too
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35716
diff changeset
88 */
35709
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
89 gchar *
35792
d18a48a68edf Smiley parser: better symbol names
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35788
diff changeset
90 purple_smiley_parser_smileify(PurpleConversation *conv, const gchar *html_message,
35761
dfbba8ed898d Smileys: better control over smiley lists priority
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35756
diff changeset
91 gboolean use_remote_smileys, PurpleSmileyParseCb cb, gpointer ui_data);
35709
0d7a84931572 Smileys: implement and use new parser, only themes for now
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents:
diff changeset
92
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
93 /**
35792
d18a48a68edf Smiley parser: better symbol names
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35788
diff changeset
94 * purple_smiley_parser_replace:
35793
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
95 * @smileys: the list of smileys to replace.
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
96 * @html_message: the html message, or escaped plain message.
39740
84e4c7dece5d Add some scope annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
97 * @cb: (scope call): The callback to replace smiley text with an image.
84e4c7dece5d Add some scope annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39659
diff changeset
98 * @ui_data: (closure cb): The user data to be passed to the callback.
35793
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
99 *
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
100 * Replaces all textual smiley representations from @smileys list with images.
35788
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
101 *
35793
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
102 * This function is intended for replacing custom smileys before sending to the
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
103 * other party. For replacing all sets of smileys (custom, remote and theme) at
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
104 * once (ie. before displaying), use #purple_smiley_parser_smileify.
35788
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
105 *
35793
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
106 * Returns: (transfer full): the smileifed message. Should be #g_free'd when
4a11e5ecb4ca Smiley parser: fill docs
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35792
diff changeset
107 * done using it. Returns %NULL if and only if @html_message was %NULL.
35788
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
108 */
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
109 gchar *
35792
d18a48a68edf Smiley parser: better symbol names
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35788
diff changeset
110 purple_smiley_parser_replace(PurpleSmileyList *smileys,
d18a48a68edf Smiley parser: better symbol names
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35788
diff changeset
111 const gchar *html_message, PurpleSmileyParseCb cb, gpointer ui_data);
35788
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
112
afa6d777bc7c Smileys: avoid breaking (x)html by not replacing smileys inside tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35787
diff changeset
113 /**
35792
d18a48a68edf Smiley parser: better symbol names
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35788
diff changeset
114 * purple_smiley_parser_find:
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
115 * @smileys: the list of smileys to find.
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
116 * @message: the message.
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
117 * @is_html: %TRUE if the message is HTML, %FALSE if it's plain, unescaped.
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
118 *
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
119 * Searches for all smileys from the @smileys list present in @message.
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
120 * Each smiley is returned only once, regardless how many times it appeared in
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
121 * text. However, distinct smileys may share common image file (thus, their
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
122 * paths will be the same).
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
123 *
38716
b9bed228745a Add many libpurple element-type annotations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 35793
diff changeset
124 * Returns: (element-type PurpleSmiley) (transfer container): the list of found smileys.
35779
d971ab073228 Comments: smiley parser
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35774
diff changeset
125 */
35756
fe6aba70046e Custom smileys: make it possible to find them by prpl
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35755
diff changeset
126 GList *
35792
d18a48a68edf Smiley parser: better symbol names
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35788
diff changeset
127 purple_smiley_parser_find(PurpleSmileyList *smileys, const gchar *message,
35764
066c0f932b33 Smileys: MSN: reimplement msn_msg_grab_emoticons to use new API
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35761
diff changeset
128 gboolean is_html);
35756
fe6aba70046e Custom smileys: make it possible to find them by prpl
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35755
diff changeset
129
35787
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
130 /**
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
131 * _purple_smiley_parser_init: (skip)
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
132 *
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
133 * Initializes the smileys parser subsystem.
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
134 */
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
135 void
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
136 _purple_smiley_parser_init(void);
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
137
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
138 /**
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
139 * _purple_smiley_parser_uninit: (skip)
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
140 *
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
141 * Uninitializes the smileys parser subsystem.
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
142 */
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
143 void
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
144 _purple_smiley_parser_uninit(void);
8738f1797803 Smiley parser: don't replace smileys inside HTML tags
Tomasz Wasilczyk <twasilczyk@pidgin.im>
parents: 35779
diff changeset
145
39659
e4dfb99b0cef Fix libpurple header guards using reserved names.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38716
diff changeset
146 #endif /* PURPLE_SMILEY_PARSER_H */

mercurial