libpurple/mime.h

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 26726
b81bcec8f359
child 32787
7072f190d6ad
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2 * Purple
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
4 * Purple is the legal property of its developers, whose names are too
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
5 * numerous to list here. Please refer to the COPYRIGHT file distributed
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
6 * with this source distribution
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
7 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
8 * This program is free software; you can redistribute it and/or modify
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
9 * it under the terms of the GNU General Public License as published by
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or (at
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
11 * your option) any later version.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
12 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
13 * This program is distributed in the hope that it will be useful, but
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
16 * General Public License for more details.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
17 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
18 * You should have received a copy of the GNU General Public License
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
19 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18190
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301,
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
21 * USA.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
22 */
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
23
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
24 #ifndef _PURPLE_MIME_H
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
25 #define _PURPLE_MIME_H
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
26
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
27 #include <glib.h>
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
28
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
29 #ifdef __cplusplus
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
30 extern "C" {
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
31 #endif
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
32
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
33 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
34 * @file mime.h
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
35 * @ingroup core
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
36 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
37 * Rudimentary parsing of multi-part MIME messages into more
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
38 * accessible structures.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
39 */
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
40
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
41 /**
16262
1d9b65303dfc Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
42 * A MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
43 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
44 typedef struct _PurpleMimeDocument PurpleMimeDocument;
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
45
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
46 /**
16262
1d9b65303dfc Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
47 * A part of a multipart MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
48 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
49 typedef struct _PurpleMimePart PurpleMimePart;
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
50
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
51 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
52 * Allocate an empty MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
53 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
54 PurpleMimeDocument *purple_mime_document_new(void);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
55
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
56 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
57 * Frees memory used in a MIME document and all of its parts and fields
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
58 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
59 * @param doc The MIME document to free.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
60 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
61 void purple_mime_document_free(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
62
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
63 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
64 * Parse a MIME document from a NUL-terminated string.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
65 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
66 * @param buf The NULL-terminated string containing the MIME-encoded data.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
67 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
68 * @returns A MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
69 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
70 PurpleMimeDocument *purple_mime_document_parse(const char *buf);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
71
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
72 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
73 * Parse a MIME document from a string
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
74 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
75 * @param buf The string containing the MIME-encoded data.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
76 * @param len Length of buf.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
77 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
78 * @returns A MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
79 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
80 PurpleMimeDocument *purple_mime_document_parsen(const char *buf, gsize len);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
81
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
82 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
83 * Write (append) a MIME document onto a GString.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
84 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
85 void purple_mime_document_write(PurpleMimeDocument *doc, GString *str);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
86
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
87 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
88 * The list of fields in the header of a document
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
89 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
90 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
91 *
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
92 * @constreturn A list of strings indicating the fields (but not the values
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
93 * of the fields) in the header of doc.
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
94 */
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
95 GList *purple_mime_document_get_fields(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
96
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
97 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
98 * Get the value of a specific field in the header of a document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
99 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
100 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
101 * @param field Case-insensitive field name.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
102 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
103 * @returns Value associated with the indicated header field, or
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
104 * NULL if the field doesn't exist.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
105 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
106 const char *purple_mime_document_get_field(PurpleMimeDocument *doc,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
107 const char *field);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
108
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
109 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
110 * Set or replace the value of a specific field in the header of a
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
111 * document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
112 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
113 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
114 * @param field Case-insensitive field name.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
115 * @param value Value to associate with the indicated header field,
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
116 * of NULL to remove the field.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
117 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
118 void purple_mime_document_set_field(PurpleMimeDocument *doc,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
119 const char *field,
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
120 const char *value);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
121
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
122 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
123 * The list of parts in a multipart document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
124 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
125 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
126 *
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
127 * @constreturn List of PurpleMimePart contained within doc.
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
128 */
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
129 GList *purple_mime_document_get_parts(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
130
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
131 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
132 * Create and insert a new part into a MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
133 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
134 * @param doc The new part's parent MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
135 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
136 PurpleMimePart *purple_mime_part_new(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
137
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
138
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
139 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
140 * The list of fields in the header of a document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
141 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
142 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
143 *
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
144 * @constreturn List of strings indicating the fields (but not the values
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
145 * of the fields) in the header of part.
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
146 */
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
147 GList *purple_mime_part_get_fields(PurpleMimePart *part);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
148
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
149
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
150 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
151 * Get the value of a specific field in the header of a document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
152 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
153 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
154 * @param field Case-insensitive name of the header field.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
155 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
156 * @returns Value of the specified header field, or NULL if the
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
157 * field doesn't exist.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
158 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
159 const char *purple_mime_part_get_field(PurpleMimePart *part,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
160 const char *field);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
161
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
162 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
163 * Get the decoded value of a specific field in the header of a
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
164 * document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
165 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
166 char *purple_mime_part_get_field_decoded(PurpleMimePart *part,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
167 const char *field);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
168
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
169 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
170 * Set or replace the value of a specific field in the header of a
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
171 * document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
172 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
173 * @param part The part of the MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
174 * @param field Case-insensitive field name
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
175 * @param value Value to associate with the indicated header field,
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
176 * of NULL to remove the field.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
177 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
178 void purple_mime_part_set_field(PurpleMimePart *part,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
179 const char *field,
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
180 const char *value);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
181
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
182 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
183 * Get the (possibly encoded) data portion of a MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
184 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
185 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
186 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
187 * @returns NULL-terminated data found in the document part
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
188 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
189 const char *purple_mime_part_get_data(PurpleMimePart *part);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
190
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
191 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
192 * Get the data portion of a MIME document part, after attempting to
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
193 * decode it according to the content-transfer-encoding field. If the
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
194 * specified encoding method is not supported, this function will
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
195 * return NULL.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
196 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
197 * @param part The MIME documemt part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
198 * @param data Buffer for the data.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
199 * @param len The length of the buffer.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
200 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
201 void purple_mime_part_get_data_decoded(PurpleMimePart *part,
11183
be87fe695c93 [gaim-migrate @ 13295]
Mark Doliner <markdoliner@pidgin.im>
parents: 11132
diff changeset
202 guchar **data, gsize *len);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
203
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
204 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
205 * Get the length of the data portion of a MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
206 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
207 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
208 * @returns Length of the data in the document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
209 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
210 gsize purple_mime_part_get_length(PurpleMimePart *part);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
211
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
212 void purple_mime_part_set_data(PurpleMimePart *part, const char *data);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
213
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
214 #ifdef __cplusplus
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
215 }
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
216 #endif
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
217
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
218 #endif

mercurial