libpurple/mime.h

Wed, 06 Feb 2008 18:06:44 +0000

author
John Bailey <rekkanoryo@rekkanoryo.org>
date
Wed, 06 Feb 2008 18:06:44 +0000
branch
cpw.rekkanoryo.yahoop15ft
changeset 22401
5fe1761a4a15
parent 19859
71d37b57eff2
child 26726
b81bcec8f359
permissions
-rw-r--r--

Simplified version of the newest patch on #4533 to not try Yahoo protocol
version 15 file transfer on Yahoo Japan.

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 #include <glib/glist.h>
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
29
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
30 #ifdef __cplusplus
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
31 extern "C" {
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
32 #endif
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
33
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
34 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
35 * @file mime.h
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
36 * @ingroup core
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
37 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
38 * Rudimentary parsing of multi-part MIME messages into more
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
39 * accessible structures.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
40 */
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
41
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
42 /**
16262
1d9b65303dfc Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
43 * A MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
44 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
45 typedef struct _PurpleMimeDocument PurpleMimeDocument;
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
46
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
47 /**
16262
1d9b65303dfc Doxygen updates. This eliminated all the warnings from Doxygen.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
48 * A part of a multipart MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
49 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
50 typedef struct _PurpleMimePart PurpleMimePart;
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
51
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
52 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
53 * Allocate an empty MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
54 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
55 PurpleMimeDocument *purple_mime_document_new(void);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
56
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
57 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
58 * 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
59 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
60 * @param doc The MIME document to free.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
61 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
62 void purple_mime_document_free(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
63
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
64 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
65 * Parse a MIME document from a NUL-terminated string.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
66 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
67 * @param buf The NULL-terminated string containing the MIME-encoded data.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
68 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
69 * @returns A MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
70 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
71 PurpleMimeDocument *purple_mime_document_parse(const char *buf);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
72
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
73 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
74 * Parse a MIME document from a string
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
75 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
76 * @param buf The string containing the MIME-encoded data.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
77 * @param len Length of buf.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
78 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
79 * @returns A MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
80 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
81 PurpleMimeDocument *purple_mime_document_parsen(const char *buf, gsize len);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
82
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
83 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
84 * Write (append) a MIME document onto a GString.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
85 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
86 void purple_mime_document_write(PurpleMimeDocument *doc, GString *str);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
87
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
88 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
89 * The list of fields in the header of a document
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
90 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
91 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
92 *
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
93 * @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
94 * of the fields) in the header of doc.
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
95 */
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
96 GList *purple_mime_document_get_fields(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
97
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
98 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
99 * 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
100 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
101 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
102 * @param field Case-insensitive field name.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
103 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
104 * @returns Value associated with the indicated header field, or
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
105 * NULL if the field doesn't exist.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
106 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
107 const char *purple_mime_document_get_field(PurpleMimeDocument *doc,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
108 const char *field);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
109
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
110 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
111 * 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
112 * document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
113 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
114 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
115 * @param field Case-insensitive field name.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
116 * @param value Value to associate with the indicated header field,
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
117 * of NULL to remove the field.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
118 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
119 void purple_mime_document_set_field(PurpleMimeDocument *doc,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
120 const char *field,
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
121 const char *value);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
122
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
123 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
124 * The list of parts in a multipart document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
125 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
126 * @param doc The MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
127 *
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
128 * @constreturn List of PurpleMimePart contained within doc.
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
129 */
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
130 GList *purple_mime_document_get_parts(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
131
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
132 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
133 * Create and insert a new part into a MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
134 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
135 * @param doc The new part's parent MIME document.
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
136 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
137 PurpleMimePart *purple_mime_part_new(PurpleMimeDocument *doc);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
138
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
139
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
140 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
141 * The list of fields in the header of a document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
142 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
143 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
144 *
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
145 * @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
146 * of the fields) in the header of part.
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
147 */
18190
bcf28ef7e8ff Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@pidgin.im>
parents: 16262
diff changeset
148 GList *purple_mime_part_get_fields(PurpleMimePart *part);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
149
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
150
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
151 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
152 * 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
153 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
154 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
155 * @param field Case-insensitive name of the header field.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
156 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
157 * @returns Value of the specified header field, or NULL if the
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
158 * field doesn't exist.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
159 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
160 const char *purple_mime_part_get_field(PurpleMimePart *part,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
161 const char *field);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
162
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
163 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
164 * 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
165 * document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
166 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
167 char *purple_mime_part_get_field_decoded(PurpleMimePart *part,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
168 const char *field);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
169
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
170 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
171 * 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
172 * document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
173 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
174 * @param part The part of the MIME document.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
175 * @param field Case-insensitive field name
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
176 * @param value Value to associate with the indicated header field,
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
177 * of NULL to remove the field.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
178 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
179 void purple_mime_part_set_field(PurpleMimePart *part,
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
180 const char *field,
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
181 const char *value);
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
182
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
183 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
184 * Get the (possibly encoded) data portion of a MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
185 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
186 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
187 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
188 * @returns NULL-terminated data found in the document part
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
189 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
190 const char *purple_mime_part_get_data(PurpleMimePart *part);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
191
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
192 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
193 * 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
194 * decode it according to the content-transfer-encoding field. If the
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
195 * specified encoding method is not supported, this function will
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
196 * return NULL.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
197 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
198 * @param part The MIME documemt part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
199 * @param data Buffer for the data.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
200 * @param len The length of the buffer.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
201 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
202 void purple_mime_part_get_data_decoded(PurpleMimePart *part,
11183
be87fe695c93 [gaim-migrate @ 13295]
Mark Doliner <markdoliner@pidgin.im>
parents: 11132
diff changeset
203 guchar **data, gsize *len);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
204
14100
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
205 /**
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
206 * 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
207 *
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
208 * @param part The MIME document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
209 * @returns Length of the data in the document part.
cca65c2c0679 [gaim-migrate @ 16642]
Mark Doliner <markdoliner@pidgin.im>
parents: 12323
diff changeset
210 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
211 gsize purple_mime_part_get_length(PurpleMimePart *part);
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
212
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
213 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
214
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
215 #ifdef __cplusplus
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
216 }
10978
8044056090ea [gaim-migrate @ 12804]
Christopher O'Brien <siege@pidgin.im>
parents:
diff changeset
217 #endif
14988
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
218
66b34458d49e [gaim-migrate @ 17698]
Richard Laager <rlaager@pidgin.im>
parents: 14254
diff changeset
219 #endif

mercurial