libpurple/protocols/oscar/encoding.h

Thu, 22 Aug 2013 01:36:58 +0530

author
Ankit Vani <a@nevitus.org>
date
Thu, 22 Aug 2013 01:36:58 +0530
branch
soc.2013.gobjectification.plugins
changeset 36574
e9b59dd16117
parent 30669
e669bab0688e
child 39819
3554dac2991b
permissions
-rw-r--r--

Merged soc.2013.gobjectification branch

30659
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
1 /*
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
2 * Purple's oscar protocol plugin
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
3 * This file is the legal property of its developers.
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
4 * Please see the AUTHORS file distributed alongside this file.
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
5 *
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
6 * This library is free software; you can redistribute it and/or
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
9 * version 2 of the License, or (at your option) any later version.
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
10 *
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
11 * This library is distributed in the hope that it will be useful,
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
14 * Lesser General Public License for more details.
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
15 *
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
17 * License along with this library; if not, write to the Free Software
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
19 */
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
20
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
21 #ifndef _ENCODING_H_
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
22 #define _ENCODING_H_
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
23
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
24 #include "oscar.h"
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
25 #include "oscarcommon.h"
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
26
30661
b33b4612a753 Refactored oscar_encoding_to_utf8().
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 30660
diff changeset
27 gchar * oscar_encoding_to_utf8(const char *encoding, const char *text, int textlen);
30659
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
28 gchar * oscar_utf8_try_convert(PurpleAccount *account, OscarData *od, const gchar *msg);
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
29
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
30 /**
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
31 * This attemps to decode an incoming IM into a UTF8 string.
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
32 *
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
33 * We try decoding using two different character sets. The charset
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
34 * specified in the IM determines the order in which we attempt to
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
35 * decode. We do this because there are lots of broken ICQ clients
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
36 * that don't correctly send non-ASCII messages. And if Purple isn't
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
37 * able to deal with that crap, then people complain like banshees.
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
38 */
30666
ff138d6c7bc4 Got rid of receiving multipart messages over channel 1, which simplified the code
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 30661
diff changeset
39 gchar * oscar_decode_im(PurpleAccount *account, const char *sourcebn, guint16 charset, const gchar *data, gsize datalen);
30659
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
40
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
41 /**
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
42 * Figure out what encoding to use when sending a given outgoing message.
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
43 */
30669
e669bab0688e Renames and cleanups.
Ivan Komarov <ivan.komarov@pidgin.im>
parents: 30666
diff changeset
44 gchar * oscar_encode_im(const gchar *msg, gsize *result_len, guint16 *charset, gchar **charsetstr);
30659
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
45
c663d8b84d1f Damn it.
Ivan Komarov <ivan.komarov@pidgin.im>
parents:
diff changeset
46 #endif

mercurial